W3cubDocs

/DOM

ParentNode.children

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

var children = node.children;

Value

A 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

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 compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 1 Yes 3.5 9
9
Internet Explorer 6, 7 and 8 supported it, but erroneously includes Comment nodes.
10 4
Support on Document and DocumentFragment 29 ? 25 No 16 No
Support on SVGElement Yes No Yes No ? No
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes Yes ? 4 ? 10 Yes
Support on Document and DocumentFragment Yes Yes ? ? ? No Yes
Support on SVGElement ? ? ? ? ? ? ?

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/children