The ParentNode
property children
is a read-only property that returns a live HTMLCollection
which contains all of the child elements
of the node upon which it was called.
Syntax
let children = node.children;
Value
An HTMLCollection
which is a live, ordered collection of the DOM elements which are children of node
. You can access the individual child nodes in the collection by using either the item()
method on the collection, or by using JavaScript array-style notation.
If the node has no element children, then children
is an empty list with a length
of 0
.
Example
const foo = document.getElementById('foo');
for (let 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() {
let 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 |
---|---|---|
DOMThe definition of 'ParentNode.children' in that specification. | Living Standard | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
children
|
Chrome
Full support 1 |
Edge
Full support 12 |
Firefox
Full support 3.5 |
IE Full support 9 Full support 9 Notes' Internet Explorer 6, 7 and 8 supported it, but erroneously includes |
Opera
Full support 10 |
Safari
Full support 4 |
WebView Android
Full support 1 |
Chrome Android
Full support 18 |
Firefox Android
Full support 4 |
Opera Android
Full support 10.1 |
Safari iOS
Full support 9 |
Samsung Internet Android
Full support 1.0 |
Support on |
Chrome
Full support 29 |
Edge
Full support 16 |
Firefox
Full support 25 |
IE
No support No |
Opera
Full support 16 |
Safari
Full support 9 |
WebView Android
Full support Yes |
Chrome Android
Full support Yes |
Firefox Android
? |
Opera Android
? |
Safari iOS
Full support 9 |
Samsung Internet Android
Full support Yes |
Support on |
Chrome
Full support Yes |
Edge
Full support 16 |
Firefox
Full support Yes |
IE
No support No |
Opera
? |
Safari
Full support 9 |
WebView Android
Full support Yes |
Chrome Android
Full support Yes |
Firefox Android
? |
Opera Android
? |
Safari iOS
Full support 9 |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Experimental. Expect behavior to change in the future.'
- Experimental. Expect behavior to change in the future.
- See implementation notes.'
- See implementation notes.
See also
- The
ParentNode
andChildNode
interfaces. Object types implementing this interface:
Document
,Element
, andDocumentFragment
.
ParentNode.children by Mozilla Contributors is licensed under CC-BY-SA 2.5.