Wenn ein ul
mehr als ein li
-Element enthält, sollte etwas passieren, sonst nicht!jquery count li Elemente innerhalb ul -> Länge?
Was mache ich falsch?
if ($('#menu ul').length > 1) {
Wenn ein ul
mehr als ein li
-Element enthält, sollte etwas passieren, sonst nicht!jquery count li Elemente innerhalb ul -> Länge?
Was mache ich falsch?
if ($('#menu ul').length > 1) {
Sie haben die li-Elemente zu zählen, nicht die ul-Elemente:
if ($('#menu ul li').length > 1) {
Wenn Sie jedes UL Element benötigen mindestens zwei LI-Elemente enthält, verwenden Sie die Filterfunktion:
$('#menu ul').filter(function(){ return $(this).children("li").length > 1 })
Sie können das auch in Ihrer Bedingung verwenden:
if ($('#menu ul').filter(function(){ return $(this).children("li").length > 1 }).length) {
alert("Size: " + $("li").size());
oder
alert("Size: " + $("li").length);
Sie können einige Beispiele für die .Size() -Methode here finden.
Die korrekte Syntax ist
$('ul#menu li').length
alert("Size: " + $("li").size());
alert("Size: " + $("li").length);
Sowohl .size() und .length zurück Anzahl der Artikel. Die Methode size() ist jedoch veraltet (JQ 1.8). .length-Eigenschaft kann anstelle von size() verwendet werden.
auch können Sie verwenden
alert($("ul").children().length);
Bitte benutzen Sie .Size() -Funktion statt .length und auch li-Tag in Selektor angeben.
Ändern Sie Ihren Code wie.
if ($('#menu ul li').size() > 1) {
Verwenden $('ul#menu').children('li').length
.Size() statt .length auch
arbeiten ** Nur zur weiteren ... ** Die '.Size()' Methode ist veraltet ab jQuery 1.8. Verwenden Sie stattdessen die Eigenschaft '.length'. [veraltet-1.8] (http://api.jquery.com/category/deprecated/deprecated-1.8/) – gmo