通过 jQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对 DOM 进行遍历。
1、祖先:向上遍历DOM树
parent():遍历直接父元素
$(document).ready(function(){
$("span").parent();
});
parents():遍历所有父元素
$(document).ready(function(){
$("span").parents();
});
parentsUntil():返回介于 <span> 与 <div> 元素之间的所有祖先元素
<pre name="code" class="html">$(document).ready(function(){
$("span").parentsUntil("div");
});
children():返回每个 <div> 元素的所有直接子元素
$(document).ready(function(){
$("div").children();
});
find():返回属于 <div> 后代的所有 <span> 元素
$(document).ready(function(){
$("div").find("span");
});
3、同胞:水平遍历DOM树
siblings():返回被选元素的所有同胞元素
$(document).ready(function(){
$("h2").siblings();
});
next():返回 <h2> 的下一个同胞元素
$(document).ready(function(){
$("h2").next();
});
nextAll():返回 <h2> 的所有下面跟随的同胞元素
$(document).ready(function(){
$("h2").next();
});
nextUntil():返回介于 <h2> 与 <h6> 元素之间的所有同胞元素
$(document).ready(function(){
$("h2").nextUntil("h6");
});
prev(), prevAll() 以及 prevUntil() 方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞元素向后遍历,而不是向前)。
4、过滤:
first():选取首个 <div> 元素内部的第一个 <p> 元素:
$(document).ready(function(){
$("div p").first();
});
last() :选择最后一个 <div> 元素中的最后一个 <p> 元素:
$(document).ready(function(){
$("div p").last();
});
eq():索引号从 0 开始,因此首个元素的索引号是 0 而不是 1。下面的例子选取第二个 <p> 元素(索引号 1):
$(document).ready(function(){
$("p").eq(1);
});
filter() :返回带有类名 "intro" 的所有 <p> 元素:
$(document).ready(function(){
$("p").filter(".intro");
});
not():返回不带有类名 "intro" 的所有 <p> 元素:
$(document).ready(function(){
$("p").not(".intro");
});