可以使用jQuery选择元素的祖先吗?
标记:
<div id="ancestor-1">
<div>
<a href="#" class="click-me">Click me</a>
</div>
</div>
<div id="ancestor-2">
<div>
<a href="#" class="click-me">Click me</a>
</div>
</div>
脚本:
$(".click-me").click(function(){
// var ancestorId = ???;
alert(ancestorId)
});
最佳答案
尝试 parent()
作为直接父元素。
$(".click-me").click(function() {
var ancestor = $(this).parent();
alert(ancestor)
});
或
parents()
用于所有匹配的祖先元素。 $(".click-me").click(function() {
var ancestors = $(this).parents(".some-ancestor");
alert(ancestors)
});
或
closest()
作为最接近的匹配元素(祖先或自身)。 $(".click-me").click(function() {
var ancestor = $(this).closest(".some-ancestor");
alert(ancestor)
});
parents()
和closest()
之间的区别是细微但重要的。如果匹配,closest()
将返回当前元素。 parents()
仅返回祖先。许多人不希望返回当前元素。 closest()
也只返回一个元素; parents()
返回所有匹配的元素。关于jquery - jQuery选择祖先,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2200775/