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操作属性值 操作案例: 表格的全选和反选 二、设置宽高 1、宽高属性 2、使用方式 三、offset() 和position()的区别 1、.offset():获取到document的距离,也就是窗口边…...
el-table 滚动条重置 手动控制滚动条
最近在使用 el-table 的时候,出现一个问题: 表头过长的时候,会有左右滑动的操作,当我们把表格拉到最右侧,这个时候重新请求数据的话,表格位置还是在最右侧,不会恢复原位。 那我们想恢复原位&a…...
详细分析Vue3中的provide和inject基本知识(附Demo)
目录 前言1. 基本知识2. Demo3. 拓展 前言 原先写过一篇父传子,推荐阅读:详细分析Vue3中的props用法(父传子) 实战中也常用这种方式,今天突然发现还有另外一种方式,对此进行深入探讨学习下 1. 基本知识 …...
spring集成kafka
Kafka 是一个分布式流处理平台,广泛用于构建实时数据流管道和流应用程序。它以高吞吐量、可扩展性和可靠性著称。以下是 Kafka 的实现原理详解及其在 Spring Boot 中的集成示例。 一、Kafka 实现原理 1. 架构概述 Kafka 的架构主要由以下几个组件组成:…...
el-form表单中含有el-input按回车自动刷新如何阻止
场景: 在Vue.js中使用Element UI的el-input组件时,如果按下Enter键导致页面刷新,这通常是因为表单的默认提交行为被触发了。要避免这种情况,你可以在el-input所在的表单上监听键盘事件,并阻止默认行为。 先解释一下时间…...
Spring Boot2.x教程:(十)从Field injection is not recommended谈谈依赖注入
从Field injection is not recommended谈谈依赖注入 1、问题引入2、依赖注入的三种方式2.1、字段注入(Field Injection)2.2、构造器注入(Constructor Injection)2.3、setter注入(Setter Injection) 3、为什…...
在 Android Studio 上运行 Java 的 main 函数
直接写了个main函数运行的时候提示 这时我们需要在idea目录下找到gradle.xml文件 添加 <option name"delegatedBuild" value"false" />搞定...
【Nas】X-DOC:Mac mini 安装 ZeroTier 并替换 planet 实现内网穿透
【Nas】X-DOC: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
在现代分布式系统中,消息队列扮演着至关重要的角色。它能够实现系统间的异步通信、解耦组件以及提高系统的可扩展性和可靠性。RabbitMQ 作为一款广泛使用的开源消息中间件,具有强大的功能和灵活的配置。而 Spring Boot 则是一种流行的 Java 开发框架&…...
存在sql注入的公网站点
此数据为博主在新手阶段练习sql注入时发现的站点,漏洞可能修复,备注可能错误 url: https://www.uni-1.com.hk/about_en.php?id2 注入点类型:数值 sql报错回显:无 sql语句执行:[order by] [union] 字段数:1…...
linux之网络子系统- 内核发送数据包流程以及相关实际问题
一、相关实际问题 查看内核发送数据消耗的CPU时应该看sy还是si在服务器上查看/proc/softirqs,为什么NET_RX要比NET_TX大得多发送网络数据的时候都涉及那些内存拷贝操作零拷贝到底是怎么回事为什么Kafka的网络性能很突出 二、网络包发送过程总览 调用系统调用send发…...
UDP 实现的 Echo Server 和 Echo Client 回显程序
欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 在网络编程中,Echo Server 和 Echo Client 回显是一种经典的示例,用于演示基本的网络通信。Echo Server 接收来自客户端的数据,并将相同的数据发送回客户端。这种模式在测试…...
AUTOSAR CP MCAL微控制器抽象层介绍
AUTOSAR(Automotive Open System Architecture)即汽车开放系统架构,它将汽车电子控制单元(ECU)的软件底层做了一个标准的封装,使得开发者能够共用一套底层软件,并通过修改参数来匹配不同的硬件和…...
SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式
文章目录 SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式1. 检查MySQL服务器的时间区设置2. 在Spring Boot应用程序中设置时间区3. Docker容器中通过Dockerfile设置时区4. 在运行Docker容器时通过命令行传递环境变量5. 启动SpringBoot应用时设置JVM参数来指…...
飞桨首创 FlashMask :加速大模型灵活注意力掩码计算,长序列训练的利器
在 Transformer 类大模型训练任务中,注意力掩码(Attention Mask)一方面带来了大量的冗余计算,另一方面因其 O ( N 2 ) O(N^2) O(N2)巨大的存储占用导致难以实现长序列场景的高效训练(其中 N N N为序列长度)…...
【含文档+源码】基于SpringBoot+Vue的新型吃住玩一体化旅游管理系统的设计与实现
开题报告 本文旨在探讨新型吃住玩一体化旅游管理系统的设计与实现。该系统融合了用户注册与登录、旅游景点管理、旅游攻略发帖、特色旅游路线推荐、附近美食推荐以及酒店客房推荐与预定等多项功能,旨在为游客提供全方位、一体化的旅游服务体验。在系统设计中&#…...
【网络安全】揭示 Web 缓存污染与欺骗漏洞
未经许可,不得转载。 文章目录 前言污染与欺骗Web 缓存污染 DoS1、HTTP 头部超大 (HHO)2、HTTP 元字符 (HMC)3、HTTP 方法覆盖攻击 (HMO)4、未键入端口5、重定向 DoS6、未键入头部7、Host 头部大小写规范化8、路径规范化9、无效头部 CP-DoS10、HTTP 请求拆分Web 缓存污染与有害…...
PHP如何防止防止源代码的暴露
在PHP开发中,防止源代码暴露是确保应用程序安全性的重要一环。源代码暴露可能会让攻击者发现敏感信息,如数据库凭据、业务逻辑漏洞等,从而进行恶意攻击。以下是一些防止PHP源代码暴露的方法: 禁用PHP短标签: 在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…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
