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.
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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support1 Yes239104
after541749 No39 No
before541749 No39 No
remove231223 No107
replaceWith541749 No39 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes2310 Yes Yes
after5454 No4939 No6.0
before5454 No4939 No6.0
remove Yes Yes Yes23107 Yes
replaceWith5454 No4939 No6.0

See also

Document Tags and Contributors

Last updated by: fscholz,