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 Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (on Element) 1.0 (Yes) 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 (Yes) 23 (23) No support 16.0 No support
before(), after(), and replaceWith() 54.0 ? 49 (49) No support 39 No support
Feature Android Android Webview Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support (on Element) (Yes) (Yes) (Yes) 23.0 (23) (Yes) 10.0 (Yes) (Yes)
Support on DocumentType and CharacterData (Yes) (Yes) ? 23.0 (23) No support 16.0 No support (Yes)
remove() (Yes) (Yes) (Yes) 23.0 (23) No support 16.0 No support (Yes)
before(), after(), and replaceWith() No support 54.0 ? 49.0 (49) No support 39 No support 54.0

See also

Document Tags and Contributors

 Last updated by: erikadoyle,