jQuery closest() 方法
jQuery closest() 方法返回被选元素的第一个祖先元素
祖先是父、祖父、曾祖父,依此类推
语法
返回被选元素的第一个祖先元素
$( selector ).closest( filter )
返回使用 DOM context 查找的 DOM 树中的第一个祖先元素
$( selector ).closest( filter,context )
参数
参数 | 描述 |
---|---|
filter | 必需。规定缩小搜索祖先元素范围的选择器表达式、元素或 jQuery 对象 |
context | 可选。在其内可以找到匹配元素的 DOM 元素 |
说明
-
DOM 树: 该方法从当前元素向上遍历,直至文档根元素的所有路径 ( <html>) ,来查找 DOM 元素的第一个祖先元素
-
该方法与 parents() 类似,都是向上遍历 DOM 树,不同点是:
closest()
- 从当前元素开始
- 沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先
- 返回包含零个或一个元素的 jQuery 对象
parents()
- 从父元素开始
- 沿 DOM 树向上遍历,并返回匹配所传递的表达式的所有祖先
- 返回包含零个、一个或多个元素的 jQuery 对象
相关方法
-
返回被选元素的直接父元素
-
返回两个给定参数之间的所有祖先元素
范例
下面的范例返回 <span> 的第一个祖先元素,是一个 <ul> 元素
$(document).ready(function(){ $("span").closest("ul") .css({"color":"red","border":"2px solid red"}); });
更多范例
-
返回 <span> 的第一个祖先元素,是一个 <span> 元素
因为该方法从当前元素开始,搜索 <span> 的第一个 <span>,将返回 <span>
-
在 DOM 元素中作为 context 进行传递,以便搜索第一个祖先元素
使用两个参数在 DOM 元素中作为 context 进行传递,以便搜索第一个 <ul> 元素