The ParentNode interface contains methods that are particular to Node objects that can have children.

ParentNode is a raw interface and no object of this type can be created; it is implemented by Element, Document, and DocumentFragment objects.

Properties

ParentNode.children Read only
Returns a live HTMLCollection containing all objects of type Element that are children of this ParentNode.
ParentNode.firstElementChild Read only
Returns the Element that is the first child of this ParentNode, or null if there is none.
ParentNode.lastElementChild Read only
Returns the Element that is the last child of this ParentNode, or null if there is none.
ParentNode.childElementCount Read only
Returns an unsigned long giving the amount of children that the object has.

Methods

ParentNode.append()
Inserts a set of Node objects or DOMString objects after the last child of the ParentNode. DOMString objects are inserted as equivalent Text nodes.
ParentNode.prepend()
Inserts a set of Node objects or DOMString objects before the first child of the ParentNode. DOMString objects are inserted as equivalent Text nodes.

Specification

Specification Status Comment
DOM
The definition of 'ParentNode.firstElementChild' in that specification.
Living Standard Splitted the ElementTraversal interface in ChildNode and ParentNode. The firstElementChild, lastElementChild, and childElementCount properties are now defined on the latter.
The Document and DocumentFragment implemented the new interfaces.
Added the children property.
Added the append() and prepend() methods.
Element Traversal Specification
The definition of 'ElementTraversal' in that specification.
Recommendation Added the initial definition of its properties to the ElementTraversal pure interface and use it on Element.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (on Element) 1.0 3.5 (1.9.1) 9.0 [1] 10.0 4.0
Support on Document and DocumentFragment 29.0 25 (25) No support 16.0 No support
append() and prepend() No support 49 (49) 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) No support 16.0 No support
append() and prepend() No support 49.0 (49) No support No support No support

[1] Internet Explorer 6, 7 and 8 supported it, but erroneously returns Comment nodes as part of the results.

See also

Document Tags and Contributors

Tags: 
 Contributors to this page: fscholz, cvrebert, Sebastianz, MHasan, jdfm, kscarfone, Localsystem, Jeremie, NekR, teoli
 Last updated by: fscholz,