例
返回的始祖<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对象包含零或一个以上的元素
其他相关的方法:
- parent() -返回所选元素的直接父元素
- parentsUntil() -返回两个给定的参数之间的所有祖先元素
句法
返回所选元素的始祖:
$(selector).closest( filter )
使用DOM上下文来查询DOM树内返回始祖:
$(selector).closest( filter,context )
参数 | 描述 |
---|---|
filter | 需要。 指定一个选择器表达式,元素或jQuery对象来缩小搜索始祖 |
context | 可选的。 DOM元素内的匹配元件可发现 |
试一试 - 示例
返回的始祖<span>这是一个<span>元素
因为这种方法与目前的元素,第一个开始搜索<span>的<span>将返回<span>
传递一个DOM元素在其中上下文搜索的第一个祖先元素
使用这两个参数,以在DOM元素作为内其中搜索所述第一上下文传<ul>元素。