jQuery实现动态添加节点与遍历节点功能示例
程序员文章站
2022-03-03 11:43:06
本文实例讲述了jquery实现动态添加节点与遍历节点功能。分享给大家供大家参考,具体如下:
动态添加节点:
本文实例讲述了jquery实现动态添加节点与遍历节点功能。分享给大家供大家参考,具体如下:
动态添加节点:
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="jquery-1.10.2.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { var link = $("<a href='http://www.baidu.com'>百度</a>"); //创建一个节点 $("div:first").append(link); //将link节点添加到第一个div中 var link = $("<a href='http://www.google.com.hk'>谷歌</a>"); //重新创建一个节点 $("div:last").append(link); //将link节点添加到最后一个div中 }) //====================================================================================== //定义一个字典风格的数组 var data = { "百度": "http://www.baidu.com", "新浪": "http://www.sina.com.cn", "搜狐": "http://www.sohu.com" }; $(function () { $.each(data, function (key, value) { //遍历这个数组,调用匿名函数进行处理 var link = $("<tr><td><a href=" + value + " rel="external nofollow" >" + key + "</a></td></tr>"); //创建一个节点 $("#table1").append(link); //将这个节点加入到table中 }) }) </script> </head> <body> <div></div> <div></div> <table id="table1"></table> </body> </html>
遍历节点:
html部分:
<html> <head> <title></title> <script src="jquery-1.10.2.min.js" type="text/javascript"></script> </head> <body> <div>aa</div> <div>bb</div> <div>cc</div> <p>dd</p> <p>ee</p> <div>ff</div> <div>kk</div> </body> </html>
js部分:
<script type="text/javascript"> //节点遍历 /*--next()方法用于获取“节点之后”挨着它的第一个“同类同辈”元素--*/ $(function () { $("div").click(function () { alert($(this).next("div").text()) //效果:当单击aa的时候会弹出bb,当点击bb的时候会弹出cc,当点击cc的时候会弹出空的警告框(因为cc这个div节点后挨着它的是p元素,所以就弹出一个空的警告框),当点击ff的时候会弹出kk,当点击kk的时候会弹出空的警告框,(因为kk这个div节点后没有同辈的div元素挨着它了,所以就弹出一个空的警告框) /*--nextall()方法用于获取“节点之后”所有的同辈元素--*/ $("div,p").click(function () { alert($(this).nextall().text()); //当单击div标签或者p标签的时候弹出点击的当前标签后的所有标签的text(); }) $("div,p").click(function () { alert($(this).nextall("p").text()); //当单击div标签或者p标签的时候弹出点击的当前标签后的所有p标签的text(); }) $("div").click(function () { $(this).nextall("div").css("background", "red"); //当点击div标签的时候将它后面的所有div标签的背景都设为红色 }) $("div").click(function () { $.each($(this).nextall("div"), function () { $(this).css("background-color", "red") }) //当点击div标签的时候将它后面的所有div标签的背景都设为红色,与上面的那一条效果是一样的(解释:先取得当前点击的div标签后面的所有div标签,然后对它进行遍历,然后通过后面的匿名函数将取得的所有div标签的背景设为红色)注意这前后两个this意思是不一样的:前面的this指的是当前点击的div标签,后面的thi是:在获取到当前点击的div标签的“后面的div标签”后,遍历他们的每一个div,后面的thi是:在后面的匿名函数正在处理的“当前遍历到的div标签” 【前面的是当前点击的div,后面的匿名函数的真正处理的当前div】 }) $("div,p").click(function () { //$(this).css("background", "red"); $(this).siblings().css("background", "yellow"); //将当前点击的div或者p标签背景设为红色,其他的兄弟标签背景设为黄色 $(this).css("background", "red").siblings().css("background", "yellow");//与上面一句等同 }) }) </script>
更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery操作dom节点方法总结》、《jquery页面元素操作技巧汇总》、《jquery常用插件及用法总结》、《jquery表格(table)操作技巧汇总》、《jquery扩展技巧总结》、《jquery常见经典特效汇总》及《jquery选择器用法总结》
希望本文所述对大家jquery程序设计有所帮助。