为了更灵活地操作元素,除了选择器之外,jQuery还为我们提供了以“方法”形式存在的两种方式:一种是“过滤方法”;另外一种是“查找方法”。过滤方法和查找方法,其实就是对jQuery选择器的一种补充。
对于查找方法,我们可以分为以下3种情况。
(1)查找祖先元素。
想要查找当前元素的祖先元素(父元素、爷元素等),我们有以下3种方法。
(1)parent()
在jQuery中,我们可以使用parent()方法来查找当前元素的“父元素”。注意,元素只有一个父元素。
$.parent(selector)
selector是一个可选参数,它是一个选择器,用来查找符合条件的父元素。当参数省略,表示父元素不需要满足任何条件;当参数不省略时,表示父元素需要满足条件
(2)parents()
在jQuery中,我们可以使用parents()方法来查找当前元素的“祖先元素”。注意,元素可以有多个祖先元素
$().parents(selector)
(3)parentsUntil()
parentsUntil()方法是parents()方法的一个补充,它可以查找“指定范围”的所有祖先元素,相当于在parents()方法返回的集合中截取一部分。
(2)查找后代元素
(1)children()
在jQuery中,我们可以使用children()方法来查找当前元素的“子元素”。注意,children()方法只能查找子元素,不能查找其他后代元素。
(2)find()
使用find()方法来查找当前元素的“后代元素”。注意,find()方法不仅能查找子元素,还能查找其他后代元素。
(3)contents()
contents()方法来获取子元素及其内部文本。contents()方法和children()方法相似,不同的是,contents()返回的jQuery对象中不仅包含子元素,还包含文本内容
(3)向前查找兄弟元素
(1)prev()
使用prev()方法来查找某个元素的前一个“相邻”的兄弟元素
(2)prevAll()
prevAll()方法来查找某个元素前面“所有”兄弟元素
(3)prevUntil()
prevUntil()方法是prevAll()方法的一个补充,它可以查找元素前面“指定范围”的所有兄弟元素,相当于在prevAll()方法返回的集合中截取一部分。
$("#lvye").prevUntil("#end")表示以id="lvye"的元素为基点,向前找到id="end"的兄弟元素,然后选取这个范围之间的所有兄弟元素。
(4)向后查找兄弟元素
在jQuery中,对于向后查找兄弟元素,我们有以下3种方法。
(1)next()
在jQuery中,我们可以使用next()方法来查找某个元素的后一个“相邻”的兄弟元素。
(2)nextAll()
nextAll()方法来查找某个元素后面“所有”兄弟元素
(3)nextUntil()
nextUntil()方法是nextAll()方法的一个补充,它可以查找元素后面“指定范围”的所有兄弟元素,相当于在nextAll()方法返回的集合中截取一部分。
(5)查找所有兄弟元素
jQuery还为我们提供另外一种不分前后的查找方法:siblings()。