JQuery遍历DOM节点的方法


Posted in Javascript onJune 11, 2015

本文实例讲述了JQuery遍历DOM节点的方法。分享给大家供大家参考。具体分析如下:

本节的核心是介绍JQuery的DOM操作,前面介绍了很多创建、删除、替换等等节点操作。这里介绍如何遍历节点,选中临近节点等的一些方法。

children()方法

该方法用于取得匹配元素的子元素集合。根据DOM树的结构,可以知道各个元素之间的关系以及它们子节点的个数。

下面使用children()方法来获取匹配元素的所有子元素的个数。

var $body = $("body").children(); 
var $p = $("p").children(); 
var $ul = $("ul").children(); 
alert( $body.length ); // <body>元素下有2个子元素 
alert( $p.length );  // <p>元素下有0个子元素 
alert( $ul.length ); // <p>元素下有3个子元素 
for(var i=0;i< $ul.length;i++){ 
  alert( $ul[i].innerHTML ); 
}

PS:children()方法只考虑子元素而不考虑任何后代元素。

next()方法

该方法用于取得匹配元素后面紧邻的同辈元素。从DOM树的结构中可以知道p元素的下一个同辈节点是ul,因此可以通过next()方法来获取ul元素,代码如下:

var $p1 = $("p").next();
// 紧邻p元素后的同辈元素

prev()方法

该方法用于取得匹配元素前面紧邻的同辈元素。从DOM树的结构中可以知道ul元素的上一个同辈节点是p,因此可以通过prev()方法来获取p元素,代码如下:

var $ul = $("ul").prev();
// 紧邻ul元素前的同辈元素

siblings()方法

该方法用于取得匹配元素前后所有的同辈元素。以DOM树的结构为例。ul元素和p元素互为同辈元素,ul元素下的3个li元素也互为同辈元素。

如果要获取p元素的同辈元素,则可以使用如下代码:

var $p2 = $("p").siblings();
// 紧邻p元素的唯一同辈元素

closest()方法

它用来取得最近的匹配元素。首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,逐级向上直到找到匹配选择器的元素。如果什么都没找到则返回一个空的JQuery对象。

比如,给点击的目标元素的最近的li元素添加颜色,可以使用如下代码:

$(document).bind("click", function (e) { 
 $(e.target).closest("li").css("color","red"); 
})

除此之外,在JQuery中还有很多遍历节点的方法,例如find()、filter()、nextAll()、prevAIl()、parent()和parents()等,此处不再赘述,读者可以查看附录的JQuery速查表文档。值得注意的是,这些遍历DOM方法有一个共同点,都可以使用JQuery表达式作为它们的参数来筛选元素。

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
jQuery 添加/移除CSS类实现代码
Feb 11 Javascript
JQuery动态创建DOM、表单元素的实现代码
Aug 09 Javascript
jQuery替换textarea中换行的方法
Jun 10 Javascript
理解javascript封装
Feb 23 Javascript
学习使用bootstrap基本控件(table、form、button)
Apr 12 Javascript
Jquery调用iframe父页面中的元素及方法
Aug 23 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
Nov 09 Javascript
weUI应用之JS常用信息提示弹层的封装
Nov 21 Javascript
zTree实现节点修改的实时刷新功能
Mar 20 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
Jun 04 Javascript
基于vue的验证码组件的示例代码
Jan 22 Javascript
JavaScript数组及常见操作方法小结
Nov 13 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
Jun 11 #Javascript
简介JavaScript中的setDate()方法的使用
Jun 11 #Javascript
JQuery实现样式设置、追加、移除与切换的方法
Jun 11 #Javascript
在JavaScript中操作时间之getYear()方法的使用教程
Jun 11 #Javascript
JavaScript中getUTCSeconds()方法的使用详解
Jun 11 #Javascript
JQuery节点元素属性操作方法
Jun 11 #Javascript
JQuery包裹DOM节点的方法
Jun 11 #Javascript
You might like
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
PHP 微信支付类 demo
2015/11/30 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
JavaScript暂停和继续定时器的实现方法
2016/07/18 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
python opencv读mp4视频的实例
2018/12/07 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
毕业研究生的自我鉴定
2013/11/30 职场文书
个性发展自我评价
2014/02/11 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
员工安全责任书范本
2014/07/24 职场文书
岗位安全生产责任书
2014/07/28 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
事业单位考察材料范文
2014/12/25 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python
java项目构建Gradle的使用教程
2022/03/24 Java/Android