如何使用jQuery选择列表中包含子项的所有元素?

时间:2010-05-29 13:34:33

标签: javascript jquery jquery-selectors

我有一个任意深度的列表,如下:

<ul>
<li></li>
<li>
  <ul>
    <li></li>
    <li>
      <ul>
        <li></li>
        <li></li>
      </ul>
    </li>
  </ul>
</li>

使用jQuery,如何选择列表中叶子节点的每个li。换句话说,我想选择所有具有子UL的li元素。

感谢您的帮助!     

2 个答案:

答案 0 :(得分:5)

jQuery('li:has(ul)');

More info about :has

答案 1 :(得分:2)

这是另一种选择:

$('li ul').closest('li')

在现代浏览器上,这可能比:has快一点,因为它将在主选择器上使用本机querySelectorAll方法。 :has不能使用本机支持,因为它不是标准的CSS选择器而是jQuery扩展。