1

假设我有这个 HTML:

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

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

感谢您的建议。

4

4 回答 4

6

也许

$('.Test').closest('.SomeParent').attr('id');

http://api.jquery.com/closest/

但是,我不知道它是否会比 codeparadox 的解决方案更快或更慢。

于 2012-08-09T17:04:38.577 回答
2

你可以试试:

$('div.SomeParent').has('div.Test').attr('id');

演示

您可以使用.has().

另一种选择是closest()

$('.Test').closest('.SomeParent').attr('id')

演示

于 2012-08-09T17:01:23.497 回答
2

如果您已经拥有<div.Test>jQuery 对象,那么您可以使用.closest()而不是使用.parents(). .closest()一旦它遇到你给它的选择器的第一次出现,它将停止。.parents()另一方面,遍历到 dom 的根并返回所有找到的内容。

于 2012-08-09T17:05:29.697 回答
1

您可以使用 parents() 而不是 parent() 来指定您在父 DOM 树中搜索的父元素的类。

$(".Test").parents(".SomeParent").attr("id")
于 2012-08-09T17:29:48.223 回答