在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')