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的Function详细
Nov 14 Javascript
javascript 检测浏览器类型和版本的代码
Sep 15 Javascript
js中精确计算加法和减法示例
Mar 28 Javascript
一个简单的Node.js异步操作管理器分享
Apr 29 Javascript
JS+CSS实现仿新浪微博搜索框的方法
Feb 24 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
Feb 25 Javascript
Ionic默认的Tabs模板使用实例
Aug 29 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
Dec 30 Javascript
Vue实现一个返回顶部backToTop组件
Jul 25 Javascript
jQuery事件对象的属性和方法详解
Sep 09 jQuery
微信小程序多音频播放进度条问题
Aug 28 Javascript
React倒计时功能实现代码——解耦通用
Sep 18 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP图片加水印实现方法
2016/05/06 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
详解Nodejs之npm&amp;package.json
2017/06/15 NodeJs
js轮播图的插件化封装详解
2017/07/17 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
js尾调用优化的实现
2019/05/23 Javascript
axios实现简单文件上传功能
2019/09/25 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
Python Django路径配置实现过程解析
2020/11/05 Python
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
银行门卫岗位职责
2013/12/29 职场文书
5.1手机促销活动
2014/01/17 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
干部对照检查材料范文
2014/08/26 职场文书
研修心得体会
2014/09/04 职场文书
李白故里导游词
2015/02/12 职场文书
个人廉洁自律总结
2015/03/06 职场文书
团组织关系介绍信
2019/06/24 职场文书