我有这段代码:
$li = $("li", this)
在我的代码中选择所有li
。这项工作正常,但我希望$li
排除子菜单中的li
。
<ul id="navigation">
<li><a href="#">blah 1</a></li>
<ul id="subnav">
<li><a href="#">sub 1</a></li>
<li><a href="#">sub 2</a></li>
<li><a href="#">sub 3</a></li>
</ul>
</li>
<li><a href="#">blah 2</a></li>
<li><a href="#">blah 3</a></li>
<li><a href="#">blah 4</a></li>
<li><a href="#">blah 5</a></li>
</ul>
所以$li
只会引用blah而不是sub。
我认为它是这样的:
$li = $("li", this).parents()
但这不符合我的要求。
答案 0 :(得分:20)
只需使用子选择器>
:
$("#navigation > li")
答案 1 :(得分:14)
您想使用直接子选择器>
:
$li = $('#navigation > li');
答案 2 :(得分:5)
var li = $("#navigation > li");
>
仅选择直接儿童
答案 3 :(得分:0)
未来的Google员工可能会发现这个答案很有用,如果他们在这里(像我一样)寻找选择所有没有孩子的人
$("#mylist li:not(:has(ul))")
或
$("#mylist li:not(:has(li))")