[jquery] How can I count the number of children?

I have a list

<ul>
  <li>
  <li>
  <li>
  ...
</ul>

I need jQuery to count the number of items in my list.

This question is related to jquery

The answer is


You don't need jQuery for this. You can use JavaScript's .childNodes.length.

Just make sure to subtract 1 if you don't want to include the default text node (which is empty by default). Thus, you'd use the following:

var count = elem.childNodes.length - 1;

You can do this using jQuery:

This method gets a list of its children then counts the length of that list, as simple as that.

$("ul").find("*").length;

The find() method traverses DOM downwards along descendants, all the way down to the last descendant.

Note: children() method traverses a single level down the DOM tree.


What if you are using this to determine the current selector to find its children so this holds: <ol> then there is <li>s under how to write a selector var count = $(this+"> li").length; wont work..


Try to get using:

var count = $("ul > li").size();
alert(count);