ChildNode

The childNodes interface contains methods that are particular to Node (en-US) objects that can have a parent.

childNodes is a raw interface and no object of this type can be created; it is implemented by Element, DocumentType (en-US), and CharacterData (en-US) objects.

Properties

There are neither inherited, nor specific properties.

Methods

There are no inherited methods.

childNodes.remove() This is an experimental API that should not be used in production code.
Removes this childNodes from the children list of its parent.
childNodes.before() This is an experimental API that should not be used in production code.
Inserts a set of Node (en-US) or DOMString (en-US) objects in the children list of this childNodes's parent, just before this childNodes. DOMString (en-US) objects are inserted as equivalent Text (en-US) nodes.
childNodes.after() This is an experimental API that should not be used in production code.
Inserts a set of Node (en-US) or DOMString (en-US) objects in the children list of this childNodes's parent, just after this childNodes. DOMString (en-US) objects are inserted as equivalent Text (en-US) nodes.
childNodes.replaceWith() This is an experimental API that should not be used in production code.
Replaces this childNodes in the children list of its parent with a set of Node (en-US) or DOMString (en-US) objects. DOMString (en-US) objects are inserted as equivalent Text (en-US) nodes.

Specifications

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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)

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 (en-US) and CharacterData (en-US) This is an experimental API that should not be used in production code. 23.0 No support 23 (23) No support 16.0 No support
remove() This is an experimental API that should not be used in production code. 29.0 (Yes) 23 (23) No support 16.0 No support
before(), after(), and replaceWith() This is an experimental API that should not be used in production code. 54.0 No support 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 (en-US) and CharacterData (en-US) This is an experimental API that should not be used in production code. (Yes) (Yes) No support 23.0 (23) No support 16.0 No support (Yes)
remove() This is an experimental API that should not be used in production code. (Yes) (Yes) (Yes) 23.0 (23) No support 16.0 No support (Yes)
before(), after(), and replaceWith() This is an experimental API that should not be used in production code. No support 54.0 No support 49.0 (49) No support 39 No support 54.0

See also