jQuery遍历方法完全指南
编程小白也能轻松理解的DOM元素遍历方法详解
遍历就像在DOM树中导航 – 想象一下你正在一个家族树中找人,jQuery的遍历方法就是帮助你找到父母、孩子、兄弟姐妹和其他亲戚的工具!
一、向上遍历:找祖先元素
大白话: 直接找到当前元素的亲爸爸(直接父元素)。
详细: 从当前元素向上走一步,找到包裹着它的那个元素。如果你想找的是亲爸爸而不是爷爷奶奶,这个方法最合适。
$(“#child”).parent();
大白话: 找到当前元素的所有祖先(爸爸、爷爷、曾祖父…一直到老祖宗html元素)。
详细: 这个方法会一直向上找,直到html根元素,把所有祖先元素都找出来。你可以加一个选择器参数来筛选想要的祖先。
$(“#child”).parents();
// 只找到祖先中的div元素
$(“#child”).parents(“div”);
大白话: 找到当前元素到指定祖先之间的所有祖先(比如从你到你爷爷之间的所有长辈)。
详细: 向上遍历直到遇到匹配选择器的元素为止(不包括匹配元素本身)。相当于在DOM树中划定一个范围,只取这个范围内的祖先。
$(“#child”).parentsUntil(“.grandparent”);
二、向下遍历:找子孙元素
大白话: 找到当前元素的亲儿子/女儿(直接子元素)。
详细: 只查找当前元素下一级的直接子元素,不会继续查找孙子辈元素。如果你只想找亲生孩子,这是最好的选择。
$(“#parent”).children();
// 只找到直接子元素中的div
$(“#parent”).children(“div”);
大白话: 找到当前元素的所有后代元素(儿子、孙子、曾孙…)。
详细: 这是最常用的方法之一,会在当前元素内部的所有层次中查找匹配元素。必须传入选择器参数。
$(“#container”).find(“p”);
三、水平遍历:找兄弟姐妹元素
大白话: 找到当前元素的所有亲兄弟/姐妹(同级别的所有元素)。
详细: 查找同一个父元素下的所有其他子元素,不包括自己。可以指定选择器来筛选想要的兄弟姐妹。
$(“#child”).siblings();
// 只找到兄弟元素中的div元素
$(“#child”).siblings(“div”);
大白话: 找到当前元素的下一个兄弟(紧跟在后面的那个兄弟)。
详细: 在DOM树中同一层级上,找到当前元素之后紧接着的下一个元素。如果当前元素是最后一个,则不会匹配到任何元素。
$(“#current”).next();
大白话: 找到当前元素之后的所有兄弟(后面的所有兄弟姐妹)。
详细: 匹配当前元素之后的所有同辈元素,可以加选择器参数过滤结果。
$(“#current”).nextAll();
// 只找到之后兄弟中的div元素
$(“#current”).nextAll(“div”);
大白话: 找到当前元素到指定兄弟元素之间的所有兄弟。
详细: 向后查找兄弟元素,直到遇到匹配选择器的元素为止(不包括匹配元素)。
$(“#current”).nextUntil(“.end”);
大白话: 找到当前元素的前一个兄弟(紧挨着的前一个兄弟)。
详细: 与next()相反,查找当前元素之前紧邻的同辈元素。
$(“#current”).prev();
大白话: 找到当前元素之前的所有兄弟(前面的所有兄弟姐妹)。
详细: 匹配当前元素之前的所有同辈元素。
$(“#current”).prevAll();
大白话: 找到当前元素到指定兄弟元素之间的所有兄弟(向前直到某个元素为止)。
详细: 向前查找兄弟元素,直到遇到匹配选择器的元素为止(不包括匹配元素)。
$(“#current”).prevUntil(“.start”);
四、过滤和遍历:精准定位
大白话: 对一组元素挨个执行相同的操作(就像排队点名一样)。
详细: 遍历一个jQuery对象,对每个匹配的元素执行一个函数。函数中可以用this或$(this)来引用当前元素。
$(“div”).each(function(index) {
$(this).css(“background”, getColor(index));
});
大白话: 从一组元素中筛选出符合条件的(就像从一群人里挑出戴眼镜的)。
详细: 缩小匹配元素的范围,只保留符合选择器或函数条件的元素。
$(“p”).filter(“:contains(‘重要’)”);
// 使用函数筛选:id长度大于5的元素
$(“div”).filter(function() {
return this.id.length > 5;
});
大白话: 从一组元素中排除不符合条件的(就像从一群人里排除戴眼镜的)。
详细: 移除匹配选择器或函数的元素,返回剩下的元素。
$(“p”).not(“.note”);
// 排除第一个元素
$(“div”).not(“:first”);
DOM家族关系图
当前元素: 蓝色背景的元素是我们关注的起点
祖先元素: 上方的爷爷和爸爸元素
子孙元素: 下方的儿子和女儿元素
兄弟元素: 同一级的哥哥和弟弟元素
遍历方法速查表
方法 | 方向 | 作用 |
---|---|---|
parent() | 向上 | 直接父元素 |
parents() | 向上 | 所有祖先元素 |
children() | 向下 | 直接子元素 |
find() | 向下 | 所有后代元素 |
siblings() | 水平 | 所有兄弟元素 |
next() | 水平 | 下一个兄弟 |
prev() | 水平 | 上一个兄弟 |
each() | 遍历 | 遍历所有元素 |
filter() | 过滤 | 筛选匹配元素 |
小白学习建议
1. 从实际例子开始:创建简单的HTML结构尝试各种方法
2. 多用console.log:查看你获取到了哪些元素
3. 理解DOM树:把HTML看作一棵倒置的树形结构
4. 组合使用:很多场景需要组合多个遍历方法
5. 先学常用方法:parent(), find(), children(), siblings()
jQuery遍历方法总结 | 编程小白也能懂的DOM操作指南 | 通过选择器和遍历方法,轻松操作网页元素