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制作居中遮罩层效果分享
Feb 21 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
jQuery实现径向动画菜单效果
Jul 17 Javascript
BootStrap中的表单大全
Sep 07 Javascript
微信小程序 生命周期详解
Oct 12 Javascript
PHP捕捉异常中断的方法
Oct 24 Javascript
AngularJS 应用身份认证的技巧总结
Nov 07 Javascript
js实现数字递增特效【仿支付宝我的财富】
May 05 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
Aug 17 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
Sep 09 Javascript
vue修改Element的el-table样式的4种方法
Sep 17 Javascript
react的hooks的用法详解
Oct 12 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
基于mysql的bbs设计(五)
2006/10/09 PHP
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
PHP asXML()函数讲解
2019/02/03 PHP
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
基于jquery的无刷新分页技术
2011/06/11 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
基于javascript实现随机颜色变化效果
2016/01/14 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
在Python程序中实现分布式进程的教程
2015/04/28 Python
Python实现栈的方法
2015/05/26 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
产品设计开发计划书
2014/05/07 职场文书
触电现场处置方案
2014/05/14 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
集中采购方案
2014/06/10 职场文书
2014年银行信贷员工作总结
2014/12/08 职场文书
道德模范事迹材料
2014/12/20 职场文书
房屋认购协议书
2015/01/29 职场文书