假设我有这个HTML:
<div class="SomeParent" id="BlueParent">
<div>
<div class="Test">test</div>
<div>
</div>
类Test
的div实际上已深深嵌套在SomeParent
容器中。什么是最快方式来获取SomeParent
类的id,其中Test是后代。 .parent()
是最好的方法吗?
感谢您的建议。
答案 0 :(得分:6)
也许
$('.Test').closest('.SomeParent').attr('id');
http://api.jquery.com/closest/
然而,我不知道它是否比codeparadox的解决方案更快或更慢。
答案 1 :(得分:2)
您可以尝试:
$('div.SomeParent').has('div.Test').attr('id');
<强> DEMO 强>
您可以使用 .has()
。
另一个选择是 closest()
:
$('.Test').closest('.SomeParent').attr('id')
<强> DEMO 强>
答案 2 :(得分:2)
如果您已将<div.Test>
作为jQuery对象,则可以使用.closest()
而不是.parents()
。 .closest()
一旦遇到你给它的第一次出现的选择器就会停止。另一方面,.parents()
遍历dom的根,并将所有找到的内容返回给你。
答案 3 :(得分:1)
您可以使用parents()而不是parent()来指定您在父项的DOM树中搜索的父元素的类。
$(".Test").parents(".SomeParent").attr("id")