2010-07-01 99 views

回答

58

你要算li元素不是UI元素:

if ($('#menu ul li').length > 1) { 

如果您需要包含至少兩個LI元素每UL元素,使用過濾器功能:

$('#menu ul').filter(function(){ return $(this).children("li").length > 1 }) 

您也可以在您的情況下使用它:

if ($('#menu ul').filter(function(){ return $(this).children("li").length > 1 }).length) { 
0
alert("Size: " + $("li").size()); 

alert("Size: " + $("li").length); 

您可以找到.size()方法here的一些例子。

+3

**只是爲了進一步參考... **的'.size()'方法已廢棄jQuery 1.8。改爲使用'.length'屬性。 [棄用-1.8](http://api.jquery.com/category/deprecated/deprecated-1.8/) – gmo 2013-06-24 15:55:41

17

正確的語法是

$('ul#menu li').length 
7
alert("Size: " + $("li").size()); 

alert("Size: " + $("li").length); 

兩個.size()和項目。長度返回數。但size()方法已被棄用(JQ 1.8)。 .length屬性可以用來代替size()。

也可以使用

alert($("ul").children().length); 
5

Working jsFiddle

請使用.size()函數代替。長度以及在選擇指定L1標籤。

更改您的代碼。

if ($('#menu ul li').size() > 1) { 
4

使用$('ul#menu').children('li').length

.size()代替。長度也將工作