2012-03-27 10 views

Respuesta

21

con jQuery:

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

Sin jQuery:

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

de j08691 es "correcter" (> = en lugar de>) – cdonner

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

con jQuery:

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

que puede utilizar:

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

Uso document.getElementById("items").childNodes.length y un operador de comparación número. Si su ul contiene otros nodos que li, tendrá que filtrarlos.

En jQuery:

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

supongo solo deseas dirigir a los niños, por lo que no uso find().

+0

Un UL también puede tener nodos de texto como los niños de modo 'childNodes.length' no es una buena opción. Sin embargo, podría usar 'getElementsByTagName ('li')'. – RobG

+0

Eso depende del documento. Si los 'li's se agregaron dinámicamente, no habrá nodos de texto. Pero si su lista contiene otras listas, 'getElementsByTagName' también está mal. – Bergi

0

Si estás usando jQuery

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

} 

que comprobará que el elemento UL tiene más de 0 elementos directos li niño. Versión

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