2010-08-23 56 views
95

我有一个列表如何计算儿童人数?

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

我需要jQuery来算我的列表中的项目数。

+1

忘记jQuery的'document.querySelectorAll(“UL礼”)length' – caub 2015-05-22 21:05:32

回答

167

您可以使用.length,像这样:

var count = $("ul li").length; 

.length告诉多少选择找到的匹配,所以这个统计有多少<li><ul>元素你......如果有子儿,用"ul > li"反而只能得到直接孩子。如果您的网页中还有其他<ul>元素,只需将选择器更改为仅匹配其中一个元素,例如,如果它的ID为"#myListID > li"即可。

在你不知道孩子的类型,你可以使用*(通配符)选择,或.children(),这样其他情况:

var count = $(".parentSelector > *").length; 

或:

var count = $(".parentSelector").children().length; 
+1

如果,它不知道,孩子是“礼”,并可能是什么? – Starx 2012-09-24 10:41:09

+5

@Starx:'$(“#parent”)。children()。length' – alecananian 2012-09-25 22:01:49

+1

@AlecAnanian,不,我知道如何。我的意思是我希望尼克能够在他的回答中加上这一点。 – Starx 2012-09-26 05:50:15

1

尝试使用:

var count = $("ul > li").size(); 
alert(count); 
0

如果您使用此来确定当前选择找它的孩子 所以这个成立:<ol>再有就是在如何写一个选择 var count = $(this+"> li").length;不会工作<li>秒。

+0

如果ol有一个类,你可以写'$(“ol.class> li”)。length – Qwerty 2014-03-18 12:44:47

4

你不需要jQuery的这一点。您可以使用JavaScript的.childNodes.length

只要确保减1,如果你不希望包括默认的文本节点(默认为空)。因此,你应该使用如下:

var count = elem.childNodes.length - 1;