某个类的远程父级的jquery id

时间:2012-08-09 17:00:05

标签: jquery

假设我有这个HTML:

<div class="SomeParent" id="BlueParent">
  <div>
     <div class="Test">test</div>
  <div>
</div>

Test的div实际上已深深嵌套在SomeParent容器中。什么是最快方式来获取SomeParent类的id,其中Test是后代。 .parent()是最好的方法吗?

感谢您的建议。

4 个答案:

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