68jQuery【jQuery操作DOM、事件】

jQuery

jQuery操作DOM

元素节点的增删改查

创建元素节点

使用$(html)函数动态创建节点元素

函数$(html)只完成DOM元素创建,加入到页面还需要通过元素节点的插入或追加操作;同时,在创建DOM元素时,要注意字符标记是否完全闭合,否则达不到预期效果。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">img{width: 100px;height: 100px;}</style><script src="../js/jquery-1.8.2.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">$(function(){$("#btn01").click(function(){var img = $("<img src='../img/星空一花.jpg'/>");//将图片添加到div里 -- 末尾//$("#manager").append(img);//$(img).appendTo($("#manager"));//将图片添加到div里 -- 首位//$("#manager").prepend(img);//$(img).prependTo($("#manager"));//将图片添加到div标签后面 -- 并列关系//$("#manager").after(img);//$(img).insertAfter($("#manager"));//将图片添加到div标签前面 -- 并列关系//$("#manager").before(img);$(img).insertBefore($("#manager"));})$("#btn02").click(function(){$("img:first").remove();})})</script></head><body><button id="btn01">添加节点</button><button id="btn02">删除节点</button><div id="manager"><img src="../img/樱井步.jpg"/></div></body>
</html>

添加节点

遍历
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">img{width: 100px;height: 100px;}</style><script src="../js/jquery-1.8.2.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">$(function(){//循环绑定单击事件$("img").each(function(){$(this).click(function(){$(this).attr("src","../img/星空一花.jpg");})})})</script></head><body><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /><img src="../img/樱井步.jpg" /></body>
</html>

操作节点2

其他操作

文档学习

节点案例
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script src="../js/jquery-1.8.2.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">$(function(){//全选和单选关联$("#chkAll").click(function(){if($(this).attr("checked")){$("td>input").attr("checked","checked");}else{$("td>input").removeAttr("checked");}})//单选与全选关联$("td>input").each(function(){$(this).click(function(){if($("td>input").length == $("td>input:checked").length){$("#chkAll").attr("checked","checked");}else{$("#chkAll").removeAttr("checked");}})})//删除$("#btnDel").click(function(){$("td>input:checked").each(function(){var deleteId = $(this).val();$("tr[id=" + deleteId + "]").remove();})//删除后解除全选if($("td>input").length == 0){$("#chkAll").removeAttr("checked");}})})</script></head><body><table border="1"><tr><th>选项</th><th>编号</th><th>姓名</th><th>性别</th></tr><tr id="1"><td><input type="checkbox" value="1"/></td><td>1001</td><td>小明</td><td></td></tr><tr id="2"><td><input type="checkbox" value="2"/></td><td>1002</td><td>明明</td><td></td></tr><tr id="3"><td><input type="checkbox" value="3"/></td><td>1003</td><td>小红</td><td></td></tr><tr><td colspan="4"><span><input id="chkAll" type="checkbox" />全选</span><span><input id="btnDel" type="button" value="删除"/></span></td></tr></table></body>
</html>

节点案例

事件

事件在元素对象与功能代码中起着重要的桥梁作用

ps:页面在加载时,会触发Load事件。当用户单击某个按钮时,触发该按钮的Click事件,通过种种事件实现各项功能或执行某项操作。

事件机制

事件在触发后分为两个阶段,一个是捕获(Capture),另一个则是冒泡(Bubbling)

事件冒泡现象

但大多数浏览器并不是都支持捕获阶段,jQuery也不支持。

因此在事件触发后,往往执行冒泡过程。所谓的冒泡其实质就是事件执行中的顺序。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">#manager{width: 200px;height: 200px;border: orange 1px solid;}</style><script src="../js/jquery-1.8.2.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">$(function(){/*** 冒泡现象:子元素的事件向上传递给了父级元素*/$("#manager").click(function(){alert("div被点击了");})$("#btn").click(function(event){alert("按钮被点击了");//阻止冒泡现象 -- 解决方案一//event.stopPropagation();//阻止冒泡现象 -- 解决方案二return false;})})</script></head><body><div id="manager"><input id="btn" type="button" value="普通按钮" /></div></body>
</html>

冒泡

页面加载事件

其实一直在用,才学习JQuery时就在使用

绑定事件/解绑事件
		<script type="text/javascript">//(1)$(function(){//绑定事件[通过映射方式绑定事件]	$("img").bind({"click":function(){console.log("图片被点击了");},"mouseout":function(){console.log("鼠标移出图片了");}})})//(2)绑定解绑$(function(){//绑定事件			$("img").bind("click mouseout",function(){console.log("触发事件了");})//为按钮绑定点击事件[直接绑定事件]$("#btn").click(function(){//解绑所有的事件//$("img").unbind();//解绑指定的事件$("img").unbind("click");})})</script><body><button id="btn">解绑事件</button><br /><img src="../img/波多野结衣.jpg" width="100px" height="100px" /></body>
切换事件

hover()方法

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态

toggle()方法

在toggle()方法中,可以依次调用N个指定的函数,直到最后一个函数,然后重复对这些函数轮番调用。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script src="../js/jquery-1.8.2.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">//(1)$(function(){//切换事件:鼠标移入、移出事件来回切换$("img").hover(function(){console.log("aaa");},function(){console.log("bbb");})})//(2)$(function(){//切换事件:鼠标单击事件循环切换$("img").toggle(function(){console.log("aaa");},function(){console.log("bbb");},function(){console.log("ccc");})})</script></head><body><img src="../img/波多野结衣.jpg" width="100px" height="100px" /></body>
</html>

切换事件

事件循环切换

事件应用案例
选择器案例升级
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>选择</title><style type="text/css">body{font-size:13px}#all{border:solid 1px #666;width:320px;overflow:hidden}#all #head{background-color:#eee;padding:8px;height:18px;cursor:hand}#all #head h3{padding:0px;margin:0px;float:left}#all #head span{float:right;margin-top:3px}#all #content{padding:8px}#all #content ul {list-style-type:none;margin:0px;padding:0px}#all #content ul li{ float:left;width:95px;height:23px;line-height:23px}#all #btn{float:right;padding-top:5px;padding-bottom:5px}</style><script type="text/javascript" src="../js/jquery-1.8.2.js"></script><script type="text/javascript">$(function(){//采用div绑定切换事件循环切换$("#head").toggle(function(){$("img").attr("src","../img/down.bmp");$("#content").css("display","none");},function(){$("img").attr("src","../img/up.bmp");$("#content").css("display","block");})$("#btn>a").click(function(){if($(this).text() == "简化"){$(this).text("更多");$("ul>li:gt(5):not(:last)").css("display","none");}else if($(this).text() == "更多"){$(this).text("简化");$("ul>li:gt(5):not(:last)").css("display","block");}})})</script></head><body><div id="all"><div id="head"><h3>学科分类</h3><span><img src="../img/up.bmp"/></span></div><div id="content"><ul><li><a href="#">JavaEE</a><i> (1110) </i></li><li><a href="#">PHP</a><i> (230) </i></li><li><a href="#">BIG</a><i> (1430) </i></li><li><a href="#">Android</a><i> (1560) </i></li><li><a href="#">IOS</a><i> (870) </i></li><li><a href="#">H5</a><i> (1460) </i></li><li><a href="#">VR</a><i> (1450) </i></li><li><a href="#">小程序</a><i> (1780) </i></li><li><a href="#">演讲</a><i> (930) </i></li><li><a href="#">PPT</a><i> (3450) </i></li><li><a href="#">Word</a><i> (980) </i></li><li><a href="#">其他</a><i> (3230) </i></li></ul><div id="btn"><a href="#">简化</a></div></div></div></body>
</html>
表单验证
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">span{color: red;}</style><script src="../js/jquery-1.8.2.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">$(function(){var bool = true;$("#username").blur(function(){if($.trim($(this).val()) == ""){$("#username+span").text("账号不能为空");bool = false;}else{$("#username+span").text("");}})$("#password").blur(function(){if($.trim($(this).val()) == ""){$("#password+span").text("密码不能为空");bool = false;}else{$("#password+span").text("");}})$("#repassword").blur(function(){if($.trim($(this).val()) == ""){$("#repassword+span").text("确认密码不能为空");bool = false;}else if($.trim($(this).val()) != $.trim($("#password").val())){$("#repassword+span").text("确认密码与密码不一致");bool = false;}else{$("#repassword+span").text("");}})$("form").submit(function(){bool = true;//触发username、password、repassword的失去焦点事件$("#username").trigger("blur");$("#password").trigger("blur");$("#repassword").trigger("blur");return bool;})})</script></head><body><form action="#" method="post">账号:<input type="text" id="username" name="username" /><span></span><br/>密码:<input type="password" id="password" name="password" /><span></span><br/>确认密码:<input type="password" id="repassword" name="repassword" /><span></span><br/><input type="submit" value="提交" /></form></body>
</html>

表单验证

选项卡
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">ul{margin: 0;padding: 0;list-style: none;}#tab li {text-align: center;float: left;padding: 5px;margin-right: 2px;width: 50px;cursor: pointer}#tab li.tabFocus {width: 50px;font-weight: bold;background-color: powderblue;border: solid 1px #666;border-bottom: 0;z-index: 100;position: relative}#content {width: 260px;height: 80px;padding: 10px;background-color: powderblue;clear: left;border: solid 1px #666;position: relative;top: -1px}#content li {display: none}#content li.contentFocus {display: block}</style><script type="text/javascript" src="../js/jquery-1.8.2.js"></script><script type="text/javascript">$(function() {$("#tab>li").each(function(index){$(this).click(function(){$("#tab>li[class='tabFocus']").removeClass("tabFocus");$(this).addClass("tabFocus");$("#content>li[class='contentFocus']").removeClass("contentFocus");$("#content>li:eq(" + index + ")").addClass("contentFocus");})})})</script></head><body><ul id="tab"><li class="tabFocus">javaee</li><li>php</li><li>.NET</li></ul><ul id="content"><li class="contentFocus">企业级应用占据领导地位</li><li>中小型网站首选</li><li>微软出品</li></ul></body></html>

选项卡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/496605.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lin.security提权靶场渗透

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…

基于aspose.words组件的word bytes转pdf bytes,去除水印和解决linux中文乱码问题

详情见 https://preferdoor.top/archives/ji-yu-aspose.wordszu-jian-de-word-byteszhuan-pdf-bytes

[python学习笔记]对象、引用、浅复制、深复制

学了这么多年编程&#xff0c;发现在学校都是浑水摸鱼&#xff0c;从来没有精通过一门语言&#xff0c;一个月熟悉python和算法。不积硅步&#xff0c;无以至千里。 本文笔记来自以下博客&#xff0c;请参考原文。 Python&#xff1a;深拷贝与浅拷贝 - 七落安歌 - 博客园 h…

arm架构 uos操作系统离线安装k8s

目录 操作系统信息 安装文件准备 主机准备 主机配置 配置hosts&#xff08;所有节点&#xff09; 关闭防火墙、selinux、swap、dnsmasq(所有节点) 系统参数设置(所有节点) 配置ipvs功能(所有节点) 安装docker&#xff08;所有节点&#xff09; 卸载老版本 安装docke…

Animated Drawings:让纸上的角色动起来

前言 今天介绍的这个工具非常的有意思&#xff1a;它可以让我们在纸上绘画的角色动起来。先一起来看看效果&#xff1a; 准备 首先&#xff0c;我们先准备一张绘画。可以在纸上进行绘制&#xff0c;也可以在电子设备上进行绘制。绘制内容不限&#xff0c;在这里为了方便演示&am…

【WRF模拟】如何得到更佳的WRF模拟效果?

【WRF模拟】如何得到更佳的WRF模拟效果&#xff1f; 模型配置&#xff08;The Model Configuration&#xff09;1.1 模拟区域domain设置1.2 分辨率Resolution (horizontal and vertical)案例&#xff1a;The Derecho of 29-30 June 2012 1.3 初始化和spin-up预热过程案例1-有无…

javaweb 04 springmvc

0.1 在上一次的课程中&#xff0c;我们开发了springbootweb的入门程序。 基于SpringBoot的方式开发一个web应用&#xff0c;浏览器发起请求 /hello 后 &#xff0c;给浏览器返回字符串 “Hello World ~”。 其实呢&#xff0c;是我们在浏览器发起请求&#xff0c;请求了我们…

openGauss与GaussDB系统架构对比

openGauss与GaussDB系统架构对比 系统架构对比openGauss架构GaussDB架构 GaussDB集群管理组件 系统架构对比 openGauss架构 openGauss是集中式数据库系统&#xff0c;业务数据存储在单个物理节点上&#xff0c;数据访问任务被推送到服务节点执行&#xff0c;通过服务器的高并…

JS 设置按钮的loading效果

本文是在其他博主的博客JS学习笔记 | 遮罩层Loading实现_jsp loading-CSDN博客基础上&#xff0c;进行实践的。 目录 一、需求 二、Jspcss实现代码 一、需求 在springboot项目中的原始html5页面中&#xff0c;原本的功能是页面加载时&#xff0c;使用ajax向后端发送请求&…

QT线程 QtConcurrent (深入理解)

QT多线程专栏共有16篇文章,从初识线程到、QMutex锁、QSemaphore信号量、Emit、Sgnals、Slot主线程子线程互相传值同步变量、QWaitCondition、事件循环、QObjects、线程安全、线程同步、线程异步、QThreadPool线程池、ObjectThread多线程操作、 moveToThread等线程操作进行了全…

“游戏信息化”:游戏后台系统的未来发展

3.1可行性分析 开发者在进行开发系统之前&#xff0c;都需要进行可行性分析&#xff0c;保证该系统能够被成功开发出来。 3.1.1技术可行性 开发该游戏后台系统所采用的技术是vue和MYSQL数据库。计算机专业的学生在学校期间已经比较系统的学习了很多编程方面的知识&#xff0c;同…

第十六届“蓝桥杯”全国软件和信息技术专业人才大赛简介及资料大全

蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心主办的一项全国性竞赛&#xff0c;面向全国高校大学生&#xff0c;累计参赛院校超过1200余所&#xff0c;参赛人数达40万人&#xff0c;是我国极有影响力的高校IT类赛事。 “第十六届蓝桥杯全国软件和信息…

电子电气架构 --- 什么是自动驾驶技术中的域控制单元(DCU)?

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 所谓鸡汤&#xff0c;要么蛊惑你认命&#xff0c;要么怂恿你拼命&#xff0c;但都是回避问题的根源&…

yolov5及其算法改进

yolov5及其算法改进 1、YOLOV5目标检测简介2、前处理2.1、自适应 Anchor 计算2.2、自适应计算 Anchor 的流程如下:2.3、图像自适应3、YOLOV4与YOLOV5的架构区别3.1、SiLU激活函数3.2、CSPBlock结构图3.3、yolov5的spp改进4、正负样本匹配与损失函数4.1、坐标表示4.2、正负样本…

WPF 绘制过顶点的圆滑曲线(样条,贝塞尔)

项目中要用到样条曲线&#xff0c;必须过顶点&#xff0c;圆滑后还不能太走样&#xff0c;捣鼓一番&#xff0c;发现里面颇有玄机&#xff0c;于是把我多方抄来改造的方法发出来&#xff0c;方便新手&#xff1a; 如上图&#xff0c;看代码吧&#xff1a; -------------------…

阿里云新用户服务器配置

创建和链接实例 创建实例&#xff0c;点击左侧标签栏总的实例&#xff0c; 找到链接帮助 根据帮助中的ip信息&#xff0c;然后启用vscode的ssh链接 ctrlp选择配置&#xff0c;输入公网的ip即可 passwd修改root密码 安装conda 参考 https://blog.csdn.net/adreammaker/arti…

最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解LRMOP1-LRMOP6及工程应用---盘式制动器设计,提供完整MATLAB代码

一、麋鹿优化算法 麋鹿优化算法&#xff08;Elephant Herding Optimization&#xff0c;EHO&#xff09;是2024年提出的一种启发式优化算法&#xff0c;该算法的灵感来源于麋鹿群的繁殖过程&#xff0c;包括发情期和产犊期。在发情期&#xff0c;麋鹿群根据公麋鹿之间的争斗分…

Spring事务回滚

Transactional注解 Transactional作用&#xff1a;就是在当前这个方法执行开始之前来开启事务&#xff0c;方法执行完毕之后提交事务。如果在这个方法执行的过程当中出现了异常&#xff0c;就会进行事务的回滚操作。 Transactional注解&#xff1a;我们一般会在业务层当中来控制…

AT24C02学习笔记

看手册&#xff1a; AT24Cxx xx代表能写入xxK bit(xx K)/8 byte 内部写周期很关键&#xff0c;代表每一次页写或字节写结束后时间要大于5ms&#xff08;延时5ms确保完成写周期&#xff09;&#xff0c;否则时序会出错。 页写&#xff1a;型不同号每一页可能写入不同大小的…

Vite内网ip访问,两种配置方式和修改端口号教程

目录 问题 两种解决方式 结果 总结 preview.host preview.port 问题 使用vite运行项目的时候&#xff0c;控制台会只出现127.0.0.1&#xff08;localhost&#xff09;本地地址访问项目。不可以通过公司内网ip访问&#xff0c;其他团队成员无法访问&#xff0c;这是因为没…