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