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 相关文章推荐
javascript对象的property和prototype是这样一种关系
Mar 24 Javascript
jQuery对象和DOM对象相互转化
Apr 24 Javascript
Javascript弹出窗口的各种方法总结
Nov 11 Javascript
JS中获取函数调用链所有参数的方法
May 07 Javascript
基于jquery实现图片放大功能
May 07 Javascript
jQuery实现jQuery-form.js实现异步上传文件
Apr 28 jQuery
基于JavaScript实现评论框展开和隐藏功能
Aug 25 Javascript
vue多种弹框的弹出形式的示例代码
Sep 18 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
Vue Extends 扩展选项用法完整实例
Sep 17 Javascript
微信小程序实现弹框效果
May 26 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
用PHP实现WEB动态网页静态
2006/10/09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
Python Sleep休眠函数使用简单实例
2015/02/02 Python
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
pandas数值计算与排序方法
2018/04/12 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
小学三年级学生评语
2014/04/22 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
怎么写工作检讨书
2014/11/16 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
武当山导游词
2015/02/03 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android