Node.children is a read-only property that returns a live HTMLCollection of the child elements of Node.
Syntax
var children = node.children;
children is a HTMLCollection, which is an ordered collection of DOM elements that are children of node. If there are no element children, then children contains no elements and has a length of 0.
Example
var foo = document.getElementById('foo');
for (var i = 0; i < foo.children.length; i++) {
console.log(foo.children[i].tagName);
}
Polyfill
// Overwrites native 'children' prototype.
// Adds Document & DocumentFragment support for IE9 & Safari.
// Returns array instead of HTMLCollection.
;(function(constructor) {
if (constructor &&
constructor.prototype &&
constructor.prototype.children == null) {
Object.defineProperty(constructor.prototype, 'children', {
get: function() {
var i = 0, node, nodes = this.childNodes, children = [];
while (node = nodes[i++]) {
if (node.nodeType === 1) {
children.push(node);
}
}
return children;
}
});
}
})(window.Node || window.Element);
Specification
| Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'ParentNode.children' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Edge | Opera | Safari |
|---|---|---|---|---|---|---|
Basic support (on Element) |
1.0 | 3.5 (1.9.1) | 9.0 [1] | 38.0 | 10.0 | 4.0 |
Support on Document and DocumentFragment |
29.0 | 25.0 (25.0) | No support | No support | 16.0 | No support |
Support on SVGElement |
(Yes) | (Yes) | No support | No support | ? | No support |
| Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
Basic support (on Element) |
(Yes) | 1.0 (1.9.1) | (Yes) | (Yes) | (Yes) |
Support on Document and DocumentFragment |
(Yes) | 25.0 (25.0) | No support | 16.0 | No support |
[1] Internet Explorer 6, 7 and 8 supported it, but erroneously includes Comment nodes.
See also
- The
ParentNodeandChildNodeinterfaces.
Document Tags and Contributors
Tags:
Contributors to this page:
jackblackevo,
Delapouite,
idontusenumbers,
k-gun,
jonkee,
vedmack,
Robg1,
fscholz,
Prome,
ziyunfei,
danburzo,
Kartik_Chadha,
teoli,
Krinkle,
Sheppy,
Dan-Dascalescu,
fryn,
Philip Chee,
paul.irish,
janmoesen
Last updated by:
jackblackevo,