published: 25 May 2022
2 min read
How to check if an element has children using JavaScript
To check if an HTML element has child nodes, you can use the hasChildNodes()
method. This method returns true
if the specified node has any child nodes, otherwise false
.
Let us say you have the following HTML code snippet:
<html>
<body>
<div>
<button id='btn'>Click Me</button>
</div>
</body>
</html>
The following example shows that how you can use the hasChildNodes()
method to check if the <body>
and <button>
tags have any child nodes:
const body = document.body;
const btn = document.querySelector('button');
console.log(body.hasChildNodes()); // true
console.log(btn.hasChildNodes()); // true
Whitespace and comments inside a node are also considered as text and comment nodes. So if you leave any whitespace, comments, or line feeds inside an element, that element still has child nodes.
The hasChildNodes()
method works in all modern browsers, and IE9 and up.
Are we missing something? Help us improve this article. Reach out to us.
How to check if an element has children using JavaScript
To check if an HTML element has child nodes, you can use the hasChildNodes()
method. This method returns true
if the specified node has any child nodes, otherwise false
.
Let us say you have the following HTML code snippet:
<html>
<body>
<div>
<button id='btn'>Click Me</button>
</div>
</body>
</html>
The following example shows that how you can use the hasChildNodes()
method to check if the <body>
and <button>
tags have any child nodes:
const body = document.body;
const btn = document.querySelector('button');
console.log(body.hasChildNodes()); // true
console.log(btn.hasChildNodes()); // true
Whitespace and comments inside a node are also considered as text and comment nodes. So if you leave any whitespace, comments, or line feeds inside an element, that element still has child nodes.
The hasChildNodes()
method works in all modern browsers, and IE9 and up.
Are you looking for other code tips?
JS Nooby
Javascript connoisseur