在jQuery中选择子元素第一次出现的最合适方法
我有这样一份清单:在jQuery中选择子元素第一次出现的最合适方法,jquery,jquery-selectors,traversal,Jquery,Jquery Selectors,Traversal,我有这样一份清单: <ul id="topElement"> <li></li> <li> <ul> <li> <ul> <li> </li> </ul> </li> </ul> <li> 它将返回树中的每个ul元素。
<ul id="topElement">
<li></li>
<li>
<ul>
<li>
<ul>
<li>
</li>
</ul>
</li>
</ul>
<li>
它将返回树中的每个ul元素。我只想要第一个ul
谢谢,我认为如果您想要在名为“topElement”的“ul”内容中找到的第一个“ul”,那么您需要:
$("ul#topElement:first")
$('ul#topElement ul:first')
$(“#topElement>li>ul:first”)
$(“#topElement-ul”).first() 我不认为这是对的-他想要在顶部“ul”下面的第一个“ul”。为什么是ul#topElement?id是唯一的#topElement应该更快。你当然是对的,但有时我这么做只是为了让自己不感到困惑。这是没有必要的,事实上,如果你改变了很多标记,它会回来咬你。在这种情况下,我想我只是想弄清楚与问题相关的解决方案是如何提出的。但是,我怀疑是否存在任何可测量的性能差异,因为sizzle确切地知道您对“id”值的语义所了解的内容:-)它按照方框上的说明执行。:)
$('ul#topElement ul:first')