HTML:
<ul id='top_nav'>
<li><a href="">xxx</a></li>
<li><a href="">xxx</a></li>
<li><a href="">xxx</a></li>
<li>
<ul>
<li><a href="">xxx</a></li>
<li><a href="">xxx</a></li>
</ul>
</li>
<li><a href="">xxx</a></li>
</ul>
问题:
如何获得第一级li标签的计数?因此,在此示例中,输出将为5,而不是7。
$("#top_nav > li").size()
应该可以解决问题。
这是有效的,因为类似于foo > bar
的选择器会选择foo的直条子项。 size()
函数返回所选实体的数量。
在查询中使用一些CSS,使其变得更加容易。记住,jQuery已经完成了所有艰苦的工作,所以您也不必这样做:
$("ul li:first-child")
// the previous simply is a call to all unordered list items that re first in the list
$("ul li:first-child").length
// the previous will get you the total count of all first list items
LOL意识到我误解了这个问题,在这种情况下答案已经存在
$("#top_nav > li")
David和Jasper都提供了很好的选择,但是您还必须过滤具有ul子的li以获得4作为输出:
$("#top_nav > li").filter(function() {
return $(this).children('ul').length == 0;
}).size()
大家好,我将如何执行完全相同的步骤,但是在普通的javascript中我没有尝试过jquery
document.getElementById(“ list”)。getElementsByTagName(“ li:first-child”)。length