Réponses:
Essayer:
$("#mylist li").length
Juste curieux: pourquoi avez-vous besoin de connaître la taille? Ne pouvez-vous pas simplement utiliser:
$("#mylist").append("<li>New list item</li>");
?
.length
over .size()
pour éviter la surcharge d'un appel de fonction. api.jquery.com/size
.length
n'est pas une fonction.
var listItems = $("#myList").children();
var count = listItems.length;
Bien sûr, vous pouvez condenser cela avec
var count = $("#myList").children().length;
Pour plus d'aide avec jQuery, http://docs.jquery.com/Main_Page est un bon point de départ.
Vous obtenez le même résultat lors de l'appel de la méthode .size () ou de la propriété .length, mais la propriété .length est préférée car elle n'a pas la surcharge d'un appel de fonction. Donc le meilleur moyen:
$("#mylist li").length
Je pense que cela devrait le faire:
var ct = $('#mylist').children().size();
et bien sûr ce qui suit:
var count = $("#myList").children().length;
peut être condensé en: (en supprimant le 'var' qui n'est pas nécessaire pour définir une variable)
count = $("#myList").children().length;
cependant c'est plus propre:
count = $("#mylist li").size();
Une autre approche pour compter le nombre d'éléments de liste:
var num = $("#mylist").find("li").length;
console.log(num);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="mylist">
<li>Element 1</li>
<li>Element 2</li>
<li>Element 3</li>
<li>Element 4</li>
<li>Element 5</li>
</ul>
$("button").click(function(){
alert($("li").length);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<meta charset="utf-8">
<title>Count the number of specific elements</title>
</head>
<body>
<ul>
<li>List - 1</li>
<li>List - 2</li>
<li>List - 3</li>
</ul>
<button>Display the number of li elements</button>
</body>
</html>