jQuery遍历与删除添加节点

个人名片:
😊作者简介:一名大二在校生
🤡 个人主页:坠入暮云间x
🐼
座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。
🎅**学习目标: 坚持每一次的学习打卡

文章目录

    • 祖先元素
    • each()方法
    • 一、添加节点元素addNode
    • 二、删除节点
      • remove() 方法
    • empty() 方法
    • 复制节点与替换节点

jQuery遍历

遍历:jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。

jQuery遍历
遍历:jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。

在这里插入图片描述

  1. <div> 元素是 <ul> 的父元素,同时是其中所有内容的祖先。
  2. <ul> 元素是 <li> 元素的父元素,同时是 <div> 的子元素
  3. 左边的 <li> 元素是 <span> 的父元素,<ul> 的子元素,同时是 <div> 的后代。
  4. <span> 元素是 <li> 的子元素,同时是 <ul><div> 的后代。
  5. 两个 <li> 元素是同胞(拥有相同的父元素)。
  6. 右边的 <li> 元素是 <b> 的父元素,<ul> 的子元素,同时是 <div> 的后代。
  7. <b> 元素是右边的 <li> 的子元素,同时是 <ul><div> 的后代。

祖先元素

1**.parent()**方法直接返回被选元素的直接父元素

$(document).ready(function(){$("span").parent();
});

2.parents() 方法

parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 ()。

3.parentsUntil() 方法

parentsUntil() 方法返回介于两个给定元素之间的所有祖先元素。

代码示例:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jQuery文件/jquery-1.12.4.js"></script>
</head><body id="body1"><div id="div1"><ul id="ul1"><li id="li1"><span id="demo">hello</span></li></ul></div>
</body>
<script>//parent()  获取父元素//parents()  获取所有祖先元素//parentsUntil(e)  获取e之后的所有祖先元素//1.获取hello的父元素的id//console.log($("#demo").parent().attr("id"));//2.获取hello的所有祖先元素的id// $("#demo").parents().each(function(){//     console.log($(this).attr("id"));// })//3.获取hello所有的div祖先的id// $("#demo").parents("div").each(function(){//     console.log($(this).attr("id"));// })//4.获取hello的祖先,且祖先在body之后$("#demo").parentsUntil("body").each(function(){console.log($(this).attr("id"));})
</script></html>

each()方法

each(): 方法为每个匹配元素规定要运行的函数。
语法$(selector).each(function*(index,element)*)

在这里插入图片描述

代码实例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jQuery文件/jquery-1.12.4.js"></script>
</head><body><ul><li>咖啡</li><li>牛奶</li><li>果汁</li><li>红茶</li></ul></body>
<script>//1.将ul下的所有li的文本变为“你好”//通过jQuery内部机制【隐式迭代】实现的//  $("ul li").text("你好");//2.循环输出所有的饮料//index:索引值 element:当前元素(一般用this即可)//这两个参数都是可以省略的// $("ul li").each(function(index,element){//     console.log(index+"_____"+element.innerHTML);// })//3.当索引为偶数时,将li的文本变为红色$("ul li").each(function(index){if(index % 2==0){$(this).css("color","red");$(this).css('opacity',(index+1)/10)}}) $("ul li:even").css("color","red")//4.使用循环实现渐变 $("ul li").each(function(index){$(this).css("color","red");$(this).css('opacity',(index+1)/10)}) 
</script></html>

一、添加节点元素addNode

在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jQuery文件/jquery-1.12.4.js"></script>
</head><body><ul><li>咖啡</li><li>牛奶</li><li>果汁</li><li>红茶</li></ul><button>末尾添加</button><button>开头添加</button><button>牛奶之前添加</button><button>牛奶之后添加</button>
</body>
<script>//1.在ul子节点列表末尾添加奶茶1、奶茶2、奶茶3//第一步创建节点$("button:first").click(function(){//方式一:使用$()方法创建节点var li1 = $("<li></li>").text("奶茶1");//方式2:使用html标签创建节点var li2="<li>奶茶2</li>";//方法3:使用dom方法创建节点var li3=document.createElement("li");li3.innerHTML="奶茶3"//插入节点//方法1:使用append()//    $("ul").append(li1,li2,li3)//方法2:使用appendTo() 一次只能添加一个节点$(li1).appendTo("ul")$(li2).appendTo("ul")$(li3).appendTo("ul")})//2.在ul子节点列表开头添加冰淇淋$("button:contains('开头添加')").on("click",function() {var li=$("<li></li>").text("冰淇淋").css("color","red");$("ul").prepend(li);$(li).prependTo("ul")})//3.在“牛奶”之前加巧克力牛奶$("button:eq(2)").on("click",function(){//var li="<li style='color:red'>巧克力牛奶</li>";var li=$("<li></li>").text("巧克力牛奶").css("color","red")$("ul li:eq(1)").before(li)})//4.在“牛奶”之后加拿铁$("button:eq(3)").on("click",function(){var li=document.createElement("li");li.style.color="red"li.innerText="拿铁";$("ul li:eq(1)").after(li)})
</script></html>

二、删除节点

remove() 方法

remove() - 删除被选元素(及其子元素)

$("#div1").remove();

empty() 方法

empty() 方法删除被选元素的子元素。
语法:

$("#div1").empty();

代码示例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jQuery文件/jquery-1.12.4.js"></script>
</head><body><ul><li>咖啡</li><li>牛奶</li><li>果汁</li><li>红茶</li></ul><ul><li>波霸奶茶</li><li>乌龙奶茶</li><li>草莓奶茶</li></ul><button>删咖啡</button><button>删牛奶</button><button>删牛奶下面的</button><button>删所有奶茶</button>
</body>
<script>//ele.remove(); 删除ele节点$("button:first").click(function(){$("ul:first li:first").remove();})  $("button:eq(1)").click(function(){$("ul:first li").remove(":eq(1)");})$("button:eq(2)").click(function(){$("ul:first li:gt(1)").remove();// $("ul:first li").each(function(index){//     if(index>1){//         $(this).remove();//     }// })})$("button:eq(3)").click(function(){$("ul:eq(1)").empty()})//ele.empty(); 删除ele节点下的所有子节点,注意,ele本身还在</script></html>

复制节点与替换节点

 
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../jQuery文件/jquery-1.12.4.js"></script>
</head><body><div id="div1"><p style="color:red;font-size: 30px;">大家好,我是p<span style="color:orange">我是p里面的span1</span><span style="color:green">我是p里面的span2</span></p></div><button id="copyNode">复制节点</button><button id="replaceNode">替换节点</button>
</body>
<script>$("#copyNode").click(function(){//第一步复制节点clone()var ele=$("#div1 p:first span:eq(1)").clone();//第二步插入$("#div1 p:first").append(ele)})//replaceWith()//replaceAll()$("#replaceNode").click(function(){//写法1:// $("<button>注册</button>").replaceAll("#div1 p:first span:eq(1)");$("#div1 p:first span:eq(1)").replaceWith("<button>注册</button>")})
</script></html>

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

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

相关文章

手拉手探索JSONCrack数据可视化

JSON Crack数据可视化工具 官网&#xff1a;https://jsoncrack.com/ 项目地址&#xff1a;https://github.com/AykutSarac/jsoncrack.com SON Crack 是一个很方便的 JSON 数据可视化工具。 该项目不是简单的展示 JSON 数据,而是将其转化为类似思维导图的形式,支持放大/缩小、展…

技术资讯:VSCode大更新,这两个功能终于有了

大家好&#xff0c;我是大澈&#xff01; 本文约1200字&#xff0c;整篇阅读大约需要2分钟。 感谢关注微信公众号&#xff1a;“程序员大澈”&#xff0c;然后免费加入问答群&#xff0c;从此让解决问题的你不再孤单&#xff01; 1. 资讯速览 就在前阵子&#xff0c;前端人都…

Java LeetCode篇-二叉树经典解法(实现:判断平衡二叉树、找两个节点最近的祖先等)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 平衡二叉树 1.1 实现判断平衡二叉树的思路 1.2 代码实现判断平衡二叉树 2.0 二叉树的层序遍历 2.1 实现二叉树层序遍历的思路 2.2 代码实现二叉树层序遍历 3.0 …

苹果app应用ipa文件程序开发后如何运行到苹果iOS真机上测试?

在苹果应用程序开发过程中&#xff0c;将app安装于真机进行测试是一个不可或缺的步骤&#xff0c;它可以帮助你检测app在实际设备上的性能表现及存在的潜在问题。这篇文章将详细阐述如何将开发好的苹果app&#xff08;.ipa文件&#xff09;安装到真机上进行测试。 图片来源&…

文心一言 VS 讯飞星火 VS chatgpt (155)-- 算法导论12.3 2题

二、用go语言&#xff0c;假设通过反复向一棵树中插人互不相同的关键字来构造一棵二叉搜索树。证明&#xff1a;在这棵树中查找关键字所检查过的结点数目等于先前插入这个关键字所检查的结点数目加 1。 文心一言&#xff1a; 为了证明这个结论&#xff0c;我们可以使用二叉搜…

VisualSVN Server的安装全过程

目录 背景: 安装过程&#xff1a; 步骤1&#xff1a; 步骤2&#xff1a; 步骤3&#xff1a; 步骤4&#xff1a; 步骤5&#xff1a; 安装出现的bug&#xff1a; 问题: 解决办法: 总结: 背景: VisualSVN Server 是一款免费的 SVN (Subversion) 服务器软件&#xff0c…

2创建工程及点灯

1:软件安装&#xff1a; 1关注公众号“纸飞资”&#xff0c;键盘输入keil“”,按照文章要求安装编译软件 2芯片安装&#xff1a; 方式一&#xff1a;离线安装。去Keil公司官网的器件支持包下载页面选择对应的公司及器件型号&#xff0c;然后在Device Family Pack文本框中点击…

Python异常、模块和包

Python异常、模块和包 1.了解异常2.异常的捕获方法3.异常的传递4.Python模块5.Python包 1.了解异常 1.1什么是异常 当检测到一个错误是&#xff0c;Python解释器就无法继续执行了&#xff0c;发而出现了一些错误提示&#xff0c;这就是所谓的“异常”&#xff0c;也就是我们常…

【开源软件】最好的开源软件-2023-第26名 Accelerate

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…

【精选】小白是如何挖漏洞的(技巧篇)

目录&#xff1a; 怎么找漏洞 找到后如何挖漏洞 关于通杀漏洞N day漏洞的挖掘 漏洞如何提交 每小结都有提供对应的案例&#xff0c;简直不要太nice&#xff01; 这个月的SRC活动也快开始了&#xff0c;看到群里的小伙伴在问如何找漏洞&#xff0c;SQL注入的漏洞咋找&#x…

慢SQL诊断

最近经常遇到技术开发跑来问我慢SQL优化相关工作&#xff0c;所以干脆出几篇SQL相关优化技术月报&#xff0c;我这里就以公司mysql一致的5.7版本来说明下。 在企业中慢SQL问题进场会遇到&#xff0c;尤其像我们这种ERP行业。 成熟的公司企业都会有晚上的慢SQL监控和预警机制。…

思福迪运维安全管理系统 test_qrcode_b RCE漏洞复现

0x01 产品简介 思福迪运维安全管理系统是思福迪开发的一款运维安全管理堡垒机。 0x02 漏洞概述 由于思福迪运维安全管理系统 test_qrcode_b路由存在命令执行漏洞&#xff0c;攻击者可通过该漏洞在服务器端任意执行代码&#xff0c;写入后门&#xff0c;获取服务器权限&#…

【Docker】vxlan的原理与实验

VXLAN&#xff08;Virtual eXtensible Local Area Network&#xff0c;虚拟可扩展局域网&#xff09;&#xff0c;是一种虚拟化隧道通信技术。它是一种Overlay&#xff08;覆盖网络&#xff09;技术&#xff0c;通过三层的网络来搭建虚拟的二层网络。 VXLAN介绍 VXLAN是在底层…

【智能家居】八、监控摄像采集、人脸识别比对进行开门功能点

一、使用 fswebcam 测试 USB 摄像头 二、根据demo来实现功能点 三、功能点编写编译运行实现 四、mjpg实现监控识别 五、V4L2 视频设备 Linux 内核模块的一部分 一、使用 fswebcam 测试 USB 摄像头 a. 安装 fswebcam orangepiorangepi:~$ sudo apt update orangepiorangepi:~…

SSL证书可以有效避免劫持和钓鱼攻击

SSL证书对抗劫持和钓鱼攻击起到重要作用。通过使用SSL证书&#xff0c;网站可以防止黑客篡改网站内容或欺骗用户&#xff0c;确保用户所看到的是真实的网站信息&#xff0c;而不是被篡改的内容或诱导性的信息。这有助于保护用户的隐私和安全&#xff0c;并建立用户对网站的信任…

LeetCode008之字符串转换整数 (相关话题:状态机)

题目描述 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。 函数 myAtoi(string s) 的算法如下&#xff1a; 读入字符串并丢弃无用的前导空格检查下一个字符&#xff08;假设还…

一天搞定jmeter入门到入职全套教程之Jmeter分布式测试

随着并发量的增大&#xff0c;一台机器就不能满足需求了&#xff0c;所以我们采用分布式&#xff08;Master-Slaver&#xff09;的方案去执行高并发的测试 注意事项&#xff1a; Master机器一般我们不执测试&#xff0c;所以可以拿一台配置差些的机器&#xff0c;主要用来采集…

c 语言 堆的解析(自我理解)!!!堆排序,建堆

目录 1.堆是什么&#xff1f; 2.堆的实现和接口。&#xff08;小堆&#xff09; 1.头文件 2.初始化 3.摧毁 4.向上调整&#xff08;重点&#xff09; 5.向下调整&#xff08;重点&#xff09; 6.插入&#xff08;重点&#xff09; 7.删除&#xff08;重点&#xff09; …

Linux---虚拟机软件

1. 虚拟机软件的介绍 它是能够虚拟出来计算机的一个软件。 常用虚拟机软件: VmwareVirtualBox 说明: 只有安装了虚拟机软件才可以创建虚拟机&#xff0c;当然通过虚拟机软件还可以创建多个虚拟机。 2. 虚拟机的介绍 就是模拟一个真实的计算机&#xff0c;好比一个虚拟的…

go学习之反射知识

反射 文章目录 反射1、反射的使用场景1&#xff09;结构体标签的应用2&#xff09;使用反射机制编写函数的适配器&#xff08;桥连接&#xff09; 2、反射的基本介绍-1.基本介绍-2.反射的图解-3.反射重要的函数和概念 3.反射快速入门-1.请编写一个函数&#xff0c;演示对&#…