The Node.hasChildNodes()
method returns a Boolean value indicating whether the current Node
has child nodes or not.
Syntax
result = node.hasChildNodes();
result
- holds the return value
true
orfalse
.
Examples
The next example removes the first child node inside the element with the id "foo"
if foo has child nodes.
var foo = document.getElementById("foo"); if (foo.hasChildNodes()) { // do something with 'foo.childNodes' }
Polyfill
;(function(prototype) { prototype.hasChildNodes = prototype.hasChildNodes || function() { return !!this.firstChild; } })(Node.prototype);
Summary
There are various ways to determine whether the node has a child node.
- node.hasChildNodes()
- node.firstChild != null (or just node.firstChild)
- node.childNodes && node.childNodes.length (or node.childNodes.length > 0)
Specification
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | 7.0 | (Yes) | (Yes) |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |