Si un ul
tiene más de un elemento li
dentro de él, algo debería suceder, de lo contrario, no.jquery count li elements inside ul -> length?
¿Qué estoy haciendo mal?
if ($('#menu ul').length > 1) {
Si un ul
tiene más de un elemento li
dentro de él, algo debería suceder, de lo contrario, no.jquery count li elements inside ul -> length?
¿Qué estoy haciendo mal?
if ($('#menu ul').length > 1) {
Hay que contar los elementos Li no los elementos UL:
if ($('#menu ul li').length > 1) {
Si necesita cada elemento UL contiene al menos dos elementos LI, utilizar la función de filtro:
$('#menu ul').filter(function(){ return $(this).children("li").length > 1 })
También puede usar eso en su condición:
if ($('#menu ul').filter(function(){ return $(this).children("li").length > 1 }).length) {
alert("Size: " + $("li").size());
o
alert("Size: " + $("li").length);
Usted puede encontrar algunos ejemplos del método .size() here.
La sintaxis correcta es
$('ul#menu li').length
alert("Size: " + $("li").size());
alert("Size: " + $("li").length);
Tanto .size() y .length número de devolución del artículo. pero el método size() está en desuso (JQ 1.8). La propiedad .length puede usarse para en lugar de size().
también se puede utilizar
alert($("ul").children().length);
Utilice .size() función en lugar de .length y también especificar la etiqueta li en el selector.
Cambia el código como.
if ($('#menu ul li').size() > 1) {
Uso $('ul#menu').children('li').length
.size() en lugar de .length también funcionará
** Sólo para mayor referencia ... ** El '' .size método está en desuso a partir del() jQuery 1.8. Use la propiedad '.length' en su lugar. [deprecated-1.8] (http://api.jquery.com/category/deprecated/deprecated-1.8/) – gmo