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
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 | Status | Comment |
---|---|---|
DOM The definition of 'Node: hasChildNodes' in that specification. |
Living Standard |
Browser compatibility
BCD tables only load in the browser