How can I count the number of children?

Jquery

Jquery Problem Overview


I have a list

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

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

Jquery Solutions


Solution 1 - Jquery

You can use .length, like this:

var count = $("ul li").length;

.length tells how many matches the selector found, so this counts how many <li> under <ul> elements you have...if there are sub-children, use "ul > li" instead to get only direct children. If you have other <ul> elements in your page, just change the selector to match only his one, for example if it has an ID you'd use "#myListID > li".

In other situations where you don't know the child type, you can use the * (wildcard) selector, or .children(), like this:

var count = $(".parentSelector > *").length;

or:

var count = $(".parentSelector").children().length;

Solution 2 - Jquery

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;

Solution 3 - Jquery

Try to get using:

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

Solution 4 - Jquery

You can use Element.childElementCount

> ref: https://developer.mozilla.org/en-US/docs/Web/API/Element/childElementCount


let count = ThatParentElement.childElementCount;

Solution 5 - Jquery

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..

Solution 6 - Jquery

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionaneuryzmView Question on Stackoverflow
Solution 1 - JqueryNick CraverView Answer on Stackoverflow
Solution 2 - JqueryZach SaucierView Answer on Stackoverflow
Solution 3 - Jqueryuser1978134View Answer on Stackoverflow
Solution 4 - JqueryashuvssutView Answer on Stackoverflow
Solution 5 - JqueryOguzhanView Answer on Stackoverflow
Solution 6 - JqueryYoussof H.View Answer on Stackoverflow