当前位置: 首页 > news >正文

JavaScript的第十三天

目录

一、使用jQuery操作属性值

操作案例:

表格的全选和反选

二、设置宽高 

        1、宽高属性

        2、使用方式 

三、offset() 和position()的区别

        1、.offset():获取到document的距离,也就是窗口边缘的距离

        2、.position():获取到有定位的最近的父元素的距离   

四、jQuery事件发展历程

        1、简单注册事件:单独创建事件,比较单一 独立且不能对同一事件源注册多个事件

        2、bind:可以同时注册多个事件

        3、 on:可以支持同时注册事件,也支持同时动态绑定事件

        4、off:解绑事件,只需要写入事件名即可

五、动态创建元素

        1、$().html() :获取

        2、 $().text(): 获取

表格案例

        表格生成的两种方式,使用字符串拼接或使用数组拼接

        表格删除的方式

六、jQuery节点的操作 

七、jQuery的一些操作

        1、val() 获取值,val("aaa") 设置值

        2、深拷贝与浅拷贝

            1. 浅拷贝把原来对象里面的复杂数据类型地址拷贝给目标对象

            2. 深拷贝把里面的数据完全复制一份给目标对象 如果里面有不冲突的属性,会合并到一起


一、使用jQuery操作属性值

.attr ( )

获取或设置元素的属性值(无法获取布尔值)

.removeAttr ( ) 

移除元素的属性
.prop()获取或设置匹配元素的属性值(获取布尔值)
        $('#ckb1').attr('checked');$("#ckb1").prop("checked", false);$("#ckb1").removeAttr("disabled")

操作案例:

表格的全选和反选
    $(function () {$("#j_cbAll").click(function () {$("#j_tb input").prop("checked", $(this).prop("checked"))})$("#j_tb input").click(function () {var a = $("#j_tb input:checked").lengthvar b = $("#j_tb input").length$("#j_cbAll").prop("checked", a == b)})})

二、设置宽高 

        1、宽高属性

.width() / .height()

不包含边框和内外边距

.outerHeight() / .outerWidth()

包含内容+内边距+边框,不包含外边距

.outerHeight(true)  .outerWidth(true)

包含内容+内边距+边框+外边距

$(window).outerWidth()

window 可视窗口的宽高

        2、使用方式 

    $('#btn').click(function () {// 不包含边框和内外边距  width$('#one').width();$('#one').height();// 设置属性  里面给值为设置 width(150)$('#one').width(150)$('#one').height(150)//包含 内容+内边距+边框   不包含外边距  outerHeight$('#one').outerHeight();$('#one').outerWidth();//包含 内容+ +内边距+边框+外边距 outerHeight(true)$('#one').outerHeight(true);('#one').outerWidth(true);})//window 可视窗口的宽高 $(window).outerWidth()$(window).mousemove(function () {$(this).outerWidth();})})

三、offset() 和position()的区别

        1、.offset():获取到document的距离,也就是窗口边缘的距离

        2、.position():获取到有定位的最近的父元素的距离   

  $(function () {//  获取到document的距离  也就是窗口边缘的距离$('#btn1').click(function (e) {console.log($('#son').offset());})// 获取到有定位的  最近的  父元素的距离   offsetTop$('#btn2').click(function () {console.log($('#son').position());})})

四、jQuery事件发展历程

        1、简单注册事件:单独创建事件,比较单一 独立且不能对同一事件源注册多个事件

        2、bind:可以同时注册多个事件

        3、 on:可以支持同时注册事件,也支持同时动态绑定事件

        4、off:解绑事件,只需要写入事件名即可

    $().click(function () { })$().mouseover(function () { })$().bind("click mouseover",function(){})$().bind({click:function(){},mouseover:function(){}})$().on('click', 'div,span', function () {})$().on({click: function () {},mouseover: function () {}}, 'div,span')$("#btn2").click(function () {$(".one").off("click")})

五、动态创建元素

        1、$().html() :获取

             $().html("<a>nihao</a>"):设置        

        2、 $().text(): 获取

               $("#div1").text("<i>iii</i>")

        在动态创建时,.html会识别标签名,而.text只能识别元素的纯文本内容,无法插入标签名

表格案例

        表格生成的两种方式,使用字符串拼接或使用数组拼接
        $("#j_btnGetData").click(function () {<tr><th>标题</th><th>地址</th><th>说明</th></tr>//1. 字符串拼接var str = ""for (var item of data) {str += `<tr>`for (var key in item) {str += `<td>${item[key]}</td>`}str += `</tr>`}console.log(str);$("#j_tbData").html(str)// 2.数组var newArr = []for (var item of data) {newArr.push("<tr>")for (var key in item) {newArr.push("<td>" + item[key] + "</td>")}newArr.push("</tr>")}$("#j_tbData").html(newArr.join(""))})// <tr> <td></td>  </tr>// ["<tr>","<td></td>",'</tr>']});
        表格删除的方式
    $(function () {// 删除所有$("#btn").click(function () {// $("#j_tb").remove()$("#j_tb").html("")$("#j_tb").empty()})// 删除单个$(".get").click(function () {$(this).parent().parent().remove()})})

六、jQuery节点的操作 

.html('')

只是清空页面中的内容,节点不删除

.empty()

只是清空页面中的内容,节点不删除

.remove()

自杀式删除  内容和节点都清空

.append()

往子级的最后面添加

.prepend()

往子级的最前面添加

.after()

往自己的后面添加

.before()

往自己的前面添加

.appendTo()

往子级的最后面添加

clone()

只克隆节点

clone(true)

克隆节点的同时连事件一起克隆

  //清空节点$(function () {$("#li3").html("")// 只是清空页面中的内容,节点不删除$("#li3").empty()// 只是清空页面中的内容,节点不删除$("#li3").remove()// 自杀式删除  内容和节点都清空})//生成节点$(function () {// 1.append   往子级的最后面添加var li = "<li>我是新增的li标签</li>"$("#ul1").append($(li))// 2.prepend   往子级的最前面添加$("#ul1").prepend(li)// 3.after   往自己的后面添加$("#li3").after(li)// 4.before   往自己的前面添加$("#li3").before(li)// 5.appendTo   往子级的最后面添加$(li).appendTo($("#ul2"))})//复制节点$("#div1").click(function () {console.log(1);})$("#clone").click(function () {$("#div1").after($("#div1").clone(true))})

 

七、jQuery的一些操作

        1、val() 获取值,val("aaa") 设置值

$("#txt").val()
//获取值$("#txt").val("你好")
//修改值

        

        2、深拷贝与浅拷贝

            1. 浅拷贝把原来对象里面的复杂数据类型地址拷贝给目标对象
            2. 深拷贝把里面的数据完全复制一份给目标对象 如果里面有不冲突的属性,会合并到一起
            $.extend(true, obj1, obj)obj1.girlfriends.name = "cc"console.log(obj);console.log(obj1);

相关文章:

JavaScript的第十三天

目录 一、使用jQuery操作属性值 操作案例&#xff1a; 表格的全选和反选 二、设置宽高 1、宽高属性 2、使用方式 三、offset&#xff08;&#xff09; 和position&#xff08;&#xff09;的区别 1、.offset()&#xff1a;获取到document的距离&#xff0c;也就是窗口边…...

el-table 滚动条重置 手动控制滚动条

最近在使用 el-table 的时候&#xff0c;出现一个问题&#xff1a; 表头过长的时候&#xff0c;会有左右滑动的操作&#xff0c;当我们把表格拉到最右侧&#xff0c;这个时候重新请求数据的话&#xff0c;表格位置还是在最右侧&#xff0c;不会恢复原位。 那我们想恢复原位&a…...

详细分析Vue3中的provide和inject基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 拓展 前言 原先写过一篇父传子&#xff0c;推荐阅读&#xff1a;详细分析Vue3中的props用法&#xff08;父传子&#xff09; 实战中也常用这种方式&#xff0c;今天突然发现还有另外一种方式&#xff0c;对此进行深入探讨学习下 1. 基本知识 …...

spring集成kafka

Kafka 是一个分布式流处理平台&#xff0c;广泛用于构建实时数据流管道和流应用程序。它以高吞吐量、可扩展性和可靠性著称。以下是 Kafka 的实现原理详解及其在 Spring Boot 中的集成示例。 一、Kafka 实现原理 1. 架构概述 Kafka 的架构主要由以下几个组件组成&#xff1a…...

el-form表单中含有el-input按回车自动刷新如何阻止

场景&#xff1a; 在Vue.js中使用Element UI的el-input组件时&#xff0c;如果按下Enter键导致页面刷新&#xff0c;这通常是因为表单的默认提交行为被触发了。要避免这种情况&#xff0c;你可以在el-input所在的表单上监听键盘事件&#xff0c;并阻止默认行为。 先解释一下时间…...

Spring Boot2.x教程:(十)从Field injection is not recommended谈谈依赖注入

从Field injection is not recommended谈谈依赖注入 1、问题引入2、依赖注入的三种方式2.1、字段注入&#xff08;Field Injection&#xff09;2.2、构造器注入&#xff08;Constructor Injection&#xff09;2.3、setter注入&#xff08;Setter Injection&#xff09; 3、为什…...

在 Android Studio 上运行 Java 的 main 函数

直接写了个main函数运行的时候提示 这时我们需要在idea目录下找到gradle.xml文件 添加 <option name"delegatedBuild" value"false" />搞定...

【Nas】X-DOC:Mac mini 安装 ZeroTier 并替换 planet 实现内网穿透

【Nas】X-DOC&#xff1a;Mac mini 安装 ZeroTier 并替换 planet 实现内网穿透 1、下载客户端 ZeroTier One2、安装过程3、更换planet备份原planet4、重启服务5、加入网络6、NAT内网穿透 1、下载客户端 ZeroTier One https://www.zerotier.com/download/ 选择 MacOS 适用版本&…...

Spring Boot 集成 RabbitMQ

在现代分布式系统中&#xff0c;消息队列扮演着至关重要的角色。它能够实现系统间的异步通信、解耦组件以及提高系统的可扩展性和可靠性。RabbitMQ 作为一款广泛使用的开源消息中间件&#xff0c;具有强大的功能和灵活的配置。而 Spring Boot 则是一种流行的 Java 开发框架&…...

存在sql注入的公网站点

此数据为博主在新手阶段练习sql注入时发现的站点&#xff0c;漏洞可能修复&#xff0c;备注可能错误 url: https://www.uni-1.com.hk/about_en.php?id2 注入点类型&#xff1a;数值 sql报错回显&#xff1a;无 sql语句执行&#xff1a;[order by] [union] 字段数&#xff1a;1…...

linux之网络子系统- 内核发送数据包流程以及相关实际问题

一、相关实际问题 查看内核发送数据消耗的CPU时应该看sy还是si在服务器上查看/proc/softirqs&#xff0c;为什么NET_RX要比NET_TX大得多发送网络数据的时候都涉及那些内存拷贝操作零拷贝到底是怎么回事为什么Kafka的网络性能很突出 二、网络包发送过程总览 调用系统调用send发…...

UDP 实现的 Echo Server 和 Echo Client 回显程序

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 在网络编程中&#xff0c;Echo Server 和 Echo Client 回显是一种经典的示例&#xff0c;用于演示基本的网络通信。Echo Server 接收来自客户端的数据&#xff0c;并将相同的数据发送回客户端。这种模式在测试…...

AUTOSAR CP MCAL微控制器抽象层介绍

AUTOSAR&#xff08;Automotive Open System Architecture&#xff09;即汽车开放系统架构&#xff0c;它将汽车电子控制单元&#xff08;ECU&#xff09;的软件底层做了一个标准的封装&#xff0c;使得开发者能够共用一套底层软件&#xff0c;并通过修改参数来匹配不同的硬件和…...

SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式

文章目录 SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式1. 检查MySQL服务器的时间区设置2. 在Spring Boot应用程序中设置时间区3. Docker容器中通过Dockerfile设置时区4. 在运行Docker容器时通过命令行传递环境变量5. 启动SpringBoot应用时设置JVM参数来指…...

飞桨首创 FlashMask :加速大模型灵活注意力掩码计算,长序列训练的利器

在 Transformer 类大模型训练任务中&#xff0c;注意力掩码&#xff08;Attention Mask&#xff09;一方面带来了大量的冗余计算&#xff0c;另一方面因其 O ( N 2 ) O(N^2) O(N2)巨大的存储占用导致难以实现长序列场景的高效训练&#xff08;其中 N N N为序列长度&#xff09;…...

【含文档+源码】基于SpringBoot+Vue的新型吃住玩一体化旅游管理系统的设计与实现

开题报告 本文旨在探讨新型吃住玩一体化旅游管理系统的设计与实现。该系统融合了用户注册与登录、旅游景点管理、旅游攻略发帖、特色旅游路线推荐、附近美食推荐以及酒店客房推荐与预定等多项功能&#xff0c;旨在为游客提供全方位、一体化的旅游服务体验。在系统设计中&#…...

【网络安全】揭示 Web 缓存污染与欺骗漏洞

未经许可,不得转载。 文章目录 前言污染与欺骗Web 缓存污染 DoS1、HTTP 头部超大 (HHO)2、HTTP 元字符 (HMC)3、HTTP 方法覆盖攻击 (HMO)4、未键入端口5、重定向 DoS6、未键入头部7、Host 头部大小写规范化8、路径规范化9、无效头部 CP-DoS10、HTTP 请求拆分Web 缓存污染与有害…...

PHP如何防止防止源代码的暴露

在PHP开发中&#xff0c;防止源代码暴露是确保应用程序安全性的重要一环。源代码暴露可能会让攻击者发现敏感信息&#xff0c;如数据库凭据、业务逻辑漏洞等&#xff0c;从而进行恶意攻击。以下是一些防止PHP源代码暴露的方法&#xff1a; 禁用PHP短标签&#xff1a; 在php.in…...

C++智能指针的实现

本篇文章详细探讨下如何使用裸指针实现智能指针。 补充内容 由于本篇文章主要是探讨怎么实现三种智能指针,但是在编码过程中,博主可能会使用些有些同学不了解的特性,为了保证大家思绪不被打断,博主先把这些小特性介绍出来,大家选择性参考。 1、什么是RAII? RAII(Reso…...

硅谷(12)菜单管理

菜单管理模块 11.1 模块初始界面 11.1.1 API&&type API: import request from /utils/request import type { PermisstionResponseData, MenuParams } from ./type //枚举地址 enum API {//获取全部菜单与按钮的标识数据ALLPERMISSTION_URL /admin/acl/permission…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...