jQuery链接parent(),有更简单的方法吗?

dot*_*tty 7 jquery parent jquery-selectors jquery-traversing

干草,我有这样的标记

<div id="some-id">
    <h2><a href="#">Title</a></h2>
</div>
Run Code Online (Sandbox Code Playgroud)

和一些像这样的jQuery

$(this).parent().parent().attr("id")
Run Code Online (Sandbox Code Playgroud)

$(this)指的是'h2'中的'a'标签

是否有一种更简单的方法来选择父div而不使用parent()两次.我试过了

$(this).parent("div").attr("id")
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

谢谢

Nic*_*ver 15

你可以.closest()像这样使用:

$(this).closest("div").attr("id")
Run Code Online (Sandbox Code Playgroud)

你可以在这里测试一下. .parent("div")是不是像看上去的那样直观,它得到唯一直接母公司,如果它选择相匹配,.closest()爬上父母,直到它选择相匹配.

请注意(不适用于此示例)如果this与选择器匹配,则返回元素,它不以第一个父元素开头,它以自身开头.