Node.hasChildNodes()
The Node.hasChildNodes()
method returns a boolean value indicating whether the given Node
has child nodes or not.
Syntax
bool = node.hasChildNodes();
Return value
A boolean value that is true
if the node has child nodes, and false
otherwise.
Example
let foo = document.getElementById('foo'); if (foo.hasChildNodes()) { // Do something with 'foo.childNodes' }
Polyfill
Here is one possible polyfill:
;(function(prototype) { prototype.hasChildNodes = prototype.hasChildNodes || function() { return !!this.firstChild; } })(Node.prototype);
There are various ways to determine whether the node has a child node:
node.hasChildNodes()
-
node.firstChild != null
(or justnode.firstChild
) -
node.childNodes && node.childNodes.length
(ornode.childNodes.length > 0
)
Specifications
Specification |
---|
DOM Standard (DOM) # ref-for-dom-node-haschildnodes① |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
hasChildNodes |
1 |
12 |
1 |
6 |
≤12.1 |
1 |
1 |
18 |
4 |
≤12.1 |
1 |
1.0 |
See also
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Node/hasChildNodes