Jak mogę użyć JavaScriptu, aby określić, czy UL zawiera 1 lub więcej LI w środku?Ustal, czy UL ma 1 lub więcej LI w zakresie
kod Pseudo
if('ul#items' has >= 1 LI){
Dzięki,
Jak mogę użyć JavaScriptu, aby określić, czy UL zawiera 1 lub więcej LI w środku?Ustal, czy UL ma 1 lub więcej LI w zakresie
kod Pseudo
if('ul#items' has >= 1 LI){
Dzięki,
z jQuery:
$('ul#items li').length >= 1
Bez jQuery:
document.getElementById('items').getElementsByTagName('li').length >= 1
if ($('ul#items').children('li').length) {
// etc.
}
z jQuery:
if($('#items li').length >= 1){...
można użyć:
$('ul#items li').length
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().
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
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
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
if ($('ul#items > li').length >= 1)
j08691 jest „correcter” (> = zamiast>) – cdonner