Web/API/ParentNode/children

From Get docs


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

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
children Chrome

Full support 1

Edge

Full support 12

Firefox

Full support 3.5

IE Full support 9

Notes'

Full support 9

Notes'

Notes' Internet Explorer 6, 7 and 8 supported it, but erroneously includes Comment nodes.

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 Document and DocumentFragment

Experimental'

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 SVGElement

Experimental'

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