2010-08-23 68 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;