说我的标记是:
<ul>
<li id="num1">hello</li>
<li id="num2"><p>hello</p></li>
<li id="num3">sdf dfg</li>
<li id="num4"></li>
<li id="num5"><a>linky</a></li>
</ul>
如何查询ul
以返回#num1, #num3 and #num4
(没有子标记的那些)?
类似的东西:
$('ul').children('li:empty')
然而来自文档:
:empty Returns: Array<Element(s)>
Matches all elements that have no children (including text nodes).
因为它包含文字,上述查询只返回#num4
。
我应该/我可以做什么?
编辑:我也在使用jQuery 1.1.4(不要问)
由于
答案 0 :(得分:2)
答案 1 :(得分:1)
你可以试试这个:
$('ul').children().filter(function()
{
return $(this).children().length != 0;
});
基本上,该函数检查直接子项的数量是否为零。它可能不是最优雅的解决方案,但至少它会起作用。