2012-03-27 6 views

Odpowiedz

21

z jQuery:

$('ul#items li').length >= 1 

Bez jQuery:

document.getElementById('items').getElementsByTagName('li').length >= 1 
+1

j08691 jest „correcter” (> = zamiast>) – cdonner

0
if ($('ul#items').children('li').length) { 
    // etc. 
} 
4

z jQuery:

if($('#items li').length >= 1){... 
1

można użyć:

$('ul#items li').length 
2

Zastosowanie document.getElementById("items").childNodes.length a operator porównania numer. Jeśli twój komputer ul zawiera inne węzły niż li, będziesz musiał je filtrować.

w jQuery:

$("#items").children("li").length 

Chyba Cię tylko bezpośrednie dzieci, więc nie używać find().

+0

UL może mieć także węzły tekstowe jako dzieci tak 'childNodes.length' nie jest dobrym rozwiązaniem. Można jednak użyć 'getElementsByTagName ('li')'. – RobG

+0

To zależy od dokumentu. Jeśli 'li's zostały dodane dynamicznie, nie będzie węzłów tekstowych. Ale jeśli twoja lista zawiera inne listy, 'getElementsByTagName' jest również błędne. – Bergi

0

Jeśli używasz jQuery

if($('ul > li').size()>0) { 

} 

To będzie sprawdzić, że element UL ma więcej niż 0 bezpośrednie elementy li dziecko. Wersja

Powiązane problemy