Se uno ha più di uno li
-elemento all'interno di esso, qualcosa dovrebbe accadere, altrimenti no!jquery conta elementi li dentro ul -> lunghezza?
Cosa sto sbagliando?
if ($('#menu ul').length > 1) {
Se uno ha più di uno li
-elemento all'interno di esso, qualcosa dovrebbe accadere, altrimenti no!jquery conta elementi li dentro ul -> lunghezza?
Cosa sto sbagliando?
if ($('#menu ul').length > 1) {
Dovete contare gli elementi Li non gli elementi ul:
if ($('#menu ul li').length > 1) {
Se avete bisogno di ogni elemento UL contenente almeno due elementi LI, utilizzare la funzione di filtro:
$('#menu ul').filter(function(){ return $(this).children("li").length > 1 })
Puoi anche usarlo nelle tue condizioni:
if ($('#menu ul').filter(function(){ return $(this).children("li").length > 1 }).length) {
alert("Size: " + $("li").size());
o
alert("Size: " + $("li").length);
Potete trovare alcuni esempi del metodo di here .size().
La sintassi corretta è
$('ul#menu li').length
alert("Size: " + $("li").size());
alert("Size: " + $("li").length);
Sia .size() e .length numero ritorno dell'articolo. ma il metodo size() è deprecato (JQ 1.8). La proprietà .length può essere utilizzata invece di size().
inoltre è possibile utilizzare
alert($("ul").children().length);
Utilizzare .size() funzione invece di .length e anche specificare tag li nel selettore.
Cambia il tuo codice come.
if ($('#menu ul li').size() > 1) {
Usa $('ul#menu').children('li').length
.size() al posto di .length funziona anche
** Solo per ulteriore riferimento ... ** Il '.size()' metodo è deprecato a partire dal jQuery 1.8. Usa invece la proprietà '.length'. [Deprecated-1.8] (http://api.jquery.com/category/deprecated/deprecated-1.8/) – gmo