Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

The ChildNode interface contains methods that are particular to Node objects that can have a parent.

ChildNode is a raw interface and no object of this type can be created; it is implemented by Element, DocumentType, and CharacterData objects.

Properties

There are neither inherited, nor specific properties.

Methods

There are no inherited methods.

ChildNode.remove()
Removes this ChildNode from the children list of its parent.
ChildNode.before()
Inserts a set of Node or DOMString objects in the children list of this ChildNode's parent, just before this ChildNode. DOMString objects are inserted as equivalent Text nodes.
ChildNode.after()
Inserts a set of Node or DOMString objects in the children list of this ChildNode's parent, just after this ChildNode. DOMString objects are inserted as equivalent Text nodes.
ChildNode.replaceWith()
Replaces this ChildNode in the children list of its parent with a set of Node or DOMString objects. DOMString objects are inserted as equivalent Text nodes.

Specifications

Specification Status Comment
DOM
The definition of 'ChildNode' in that specification.
Living Standard Split the ElementTraversal interface in ParentNode and ChildNode. previousElementSibling and nextElementSibling are now defined on the latter. The CharacterData and DocumentType implemented the new interfaces. Added the remove(), before(), after() and replaceWith() 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.

Polyfill

External on github: childNode.js

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (on Element) 1.0 23 (23) 9.0 10.0 4.0
Support on DocumentType and CharacterData 23.0 23 (23) No support 16.0 No support
remove() 29.0 23 (23) Edge 16.0 No support
before(), after(), and replaceWith() 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) 23.0 (23) (Yes) 10.0 (Yes)
Support on DocumentType and CharacterData (Yes) 23.0 (23) No support 16.0 No support
remove() (Yes) 23.0 (23) No support 16.0 No support
before(), after(), and replaceWith() No support 49.0 (49) No support No support No support

See also

Document Tags and Contributors

 Last updated by: fscholz,