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 AjaxQueue改进步骤
Oct 06 Javascript
js获取下拉列表框中的value和text的值示例代码
Jan 11 Javascript
JavaScript中使用arguments获得函数传参个数实例
Aug 27 Javascript
JavaScript使用循环和分割来替换和删除元素实例
Oct 13 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
javascript中闭包(Closure)详解
Jan 06 Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 Javascript
vue-router的使用方法及含参数的配置方法
Nov 13 Javascript
JS实现判断有效的数独算法示例
Feb 25 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
Feb 19 Javascript
谈一谈vue请求数据放在created好还是mounted里好
Jul 27 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
Mar 01 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
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
微信支付开发订单查询实例
2016/07/12 PHP
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
javascript常用的设计模式
2017/02/09 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
Python单元测试框架unittest简明使用实例
2015/04/13 Python
小小聊天室Python代码实现
2016/08/17 Python
python2.7到3.x迁移指南
2018/02/01 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
python购物车程序简单代码
2018/04/18 Python
python可视化实现代码
2019/01/15 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
我的动漫时代的创业计划书范文
2014/01/27 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
摄影展策划方案
2014/06/02 职场文书
人事任命书范文
2014/06/04 职场文书
网站出售协议书范文
2014/10/10 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python
Python自动化爬取天眼查数据的实现
2021/06/15 Python