我有一个任意深度的列表,如下:
<ul>
<li></li>
<li>
<ul>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
</li>
</ul>
</li>
使用jQuery,如何选择列表中不叶子节点的每个li。换句话说,我想选择所有具有子UL的li元素。
感谢您的帮助!
答案 0 :(得分:5)
jQuery('li:has(ul)');
答案 1 :(得分:2)
这是另一种选择:
$('li ul').closest('li')
在现代浏览器上,这可能比:has
快一点,因为它将在主选择器上使用本机querySelectorAll
方法。 :has
不能使用本机支持,因为它不是标准的CSS选择器而是jQuery扩展。