¿Cómo puedo usar JavaScript para determinar si un UL contiene 1 o más LI dentro?Determine si un UL tiene 1 o más LI dentro de
código Pseudo
if('ul#items' has >= 1 LI){
Gracias,
¿Cómo puedo usar JavaScript para determinar si un UL contiene 1 o más LI dentro?Determine si un UL tiene 1 o más LI dentro de
código Pseudo
if('ul#items' has >= 1 LI){
Gracias,
con jQuery:
$('ul#items li').length >= 1
Sin jQuery:
document.getElementById('items').getElementsByTagName('li').length >= 1
if ($('ul#items').children('li').length) {
// etc.
}
con jQuery:
if($('#items li').length >= 1){...
que puede utilizar:
$('ul#items li').length
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().
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
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
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
if ($('ul#items > li').length >= 1)
de j08691 es "correcter" (> = en lugar de>) – cdonner