嘿,我有一些这样的标记
<div id="some-id">
<h2><a href="#">Title</a></h2>
</div>
和一些像这样的jQuery
$(this).parent().parent().attr("id")
$(this) 指的是“h2”中的“a”标签
有没有更简单的方法来选择父 div 而无需使用 parent() 两次。我试过
$(this).parent("div").attr("id")
但它没有用。
谢谢
嘿,我有一些这样的标记
<div id="some-id">
<h2><a href="#">Title</a></h2>
</div>
和一些像这样的jQuery
$(this).parent().parent().attr("id")
$(this) 指的是“h2”中的“a”标签
有没有更简单的方法来选择父 div 而无需使用 parent() 两次。我试过
$(this).parent("div").attr("id")
但它没有用。
谢谢
您可以使用.closest()
,如下所示:
$(this).closest("div").attr("id")
你可以在这里测试它。
.parent("div")
并不像看起来那么直观,如果它匹配选择器,它只会获取直接父级,爬上父级直到它匹配选择器。.closest()
请注意(不适用于此示例)如果this
匹配选择器,则返回该元素,它不从第一个父元素开始,而是从自身开始。