7

嘿,我有一些这样的标记

<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")

但它没有用。

谢谢

4

1 回答 1

18

您可以使用.closest(),如下所示:

$(this).closest("div").attr("id")

你可以在这里测试它.parent("div")并不像看起来那么直观,如果它匹配选择器,它只会获取直接父级,爬上父级直到它匹配选择器。.closest()

请注意(不适用于此示例)如果this匹配选择器,则返回元素,它不第一个父元素开始,而是从自身开始。

于 2010-10-13T09:03:19.227 回答