向上遍历 DOM 树
这些 jQuery 方法很有用,它们用于向上遍历 DOM 树:
- parent() 返回被选元素的直接父元素。
- parents() 返回被选元素的所有祖先元素
- parentsUntil() parentsUntil() 方法返回介于两个给定元素之间的所有祖先元素。
示例
$("span").parent();//获取span标签的父元素
$("span").parents();//获取<span> 元素的所有祖先
$("span").parents("ul");//<span> 元素的所有是<ul>元素的祖先
$(document).ready(function(){
$("span").parentsUntil("div");//获取到祖先元素div就停止了
});
向下遍历 DOM 树
下面是两个用于向下遍历 DOM 树的 jQuery 方法:
- children() 返回被选元素的所有直接子元素。
- find() 返回被选元素的后代元素,一路向下直到最后一个后代。
示例:
$("div").children("p.c1");//获取div子元素中class="c1"的p元素
$("div").find("span");//获取<div> 后代的所有 <span> 元素
$("div").find("*");//获取 <div> 的所有后代:
兄弟节点
JQuery有许多有用的方法让我们在 DOM 树进行水平遍历:
- siblings() 返回被选元素的所有同胞元素
- next() 返回被选元素的下一个同胞元素。
- nextAll() 返回被选元素的所有跟随的同胞元素。
- nextUntil() 返回介于两个给定参数之间的所有跟随的同胞元素。
$("h2").nextUntil("h6");
- prev()
- prevAll()
- prevUntil()
prev(), prevAll() 以及 prevUntil() 方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素
JQuery过滤
三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。
其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。
first() 方法返回被选元素的首个元素。
last() 方法返回被选元素的最后一个元素。
eq() 方法返回被选元素中带有指定索引号的元素。
$("div p").first().css("background-color","yellow");
$("p").eq(2).css("background-color","yellow");
filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
not() 方法返回不匹配标准的所有元素。与filter相反
<!--获取class="url"的p元素-->
$("p").filter(".url").css("background-color","yellow");
网友评论