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 相关文章推荐
如何取得中文输入的真实长度?
Jun 24 Javascript
使用Post提交时须将空格转换成加号的解释
Jan 14 Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 Javascript
javascript实现获取浏览器版本、操作系统类型
Jan 29 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
Aug 02 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
Sep 01 Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 Javascript
微信小程序引用iconfont图标的方法
Oct 22 Javascript
vue.js层叠轮播效果的实例代码
Nov 08 Javascript
JavaScript函数定义方法实例详解
Mar 05 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 jQuery
vue-cli脚手架的.babelrc文件用法说明
Sep 11 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
vue项目实战总结篇
2018/02/11 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
python 获取字典键值对的实现
2020/11/12 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
机电一体化应届生求职信范文
2014/01/24 职场文书
致百米运动员广播稿
2014/01/29 职场文书
租房合同协议书
2014/04/09 职场文书
关于晚自习早退的检讨书
2014/09/13 职场文书
幼儿学前班评语
2014/12/29 职场文书
转正申请报告格式
2015/05/15 职场文书
Vue.js中v-bind指令的用法介绍
2022/03/13 Vue.js
如何利用python实现Simhash算法
2022/06/28 Python