The ChildNode mixin contains methods and properties that are common to all types of Node objects that can have a parent. It's 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
ChildNodefrom thechildrenlist of its parent. ChildNode.before()- Inserts a set of
NodeorDOMStringobjects in thechildrenlist of thisChildNode's parent, just before thisChildNode.DOMStringobjects are inserted as equivalentTextnodes. ChildNode.after()- Inserts a set of
NodeorDOMStringobjects in thechildrenlist of thisChildNode's parent, just after thisChildNode.DOMStringobjects are inserted as equivalentTextnodes. ChildNode.replaceWith()- Replaces this
ChildNodein thechildrenlist of its parent with a set ofNodeorDOMStringobjects.DOMStringobjects are inserted as equivalentTextnodes.
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
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
ChildNode | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 23 | IE Full support 9 | Opera Full support 10 | Safari Full support 4 | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 23 | Opera Android Full support 10.1 | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
after | Chrome Full support 54 | Edge Full support 17 | Firefox Full support 49 | IE No support No | Opera Full support 39 | Safari Full support 10 | WebView Android Full support 54 | Chrome Android Full support 54 | Firefox Android Full support 49 | Opera Android Full support 41 | Safari iOS Full support 10 | Samsung Internet Android Full support 6.0 |
before | Chrome Full support 54 | Edge Full support 17 | Firefox Full support 49 | IE No support No | Opera Full support 39 | Safari Full support 10 | WebView Android Full support 54 | Chrome Android Full support 54 | Firefox Android Full support 49 | Opera Android Full support 41 | Safari iOS Full support 10 | Samsung Internet Android Full support 6.0 |
remove | Chrome Full support 23 | Edge Full support 12 | Firefox Full support 23 | IE No support No | Opera Full support 15 | Safari Full support 7 | WebView Android Full support ≤37 | Chrome Android Full support 25 | Firefox Android Full support 23 | Opera Android Full support 14 | Safari iOS Full support 7 | Samsung Internet Android Full support 1.5 |
replaceWith | Chrome Full support 54 | Edge Full support 17 | Firefox Full support 49 | IE No support No | Opera Full support 39 | Safari Full support Yes | WebView Android Full support 54 | Chrome Android Full support 54 | Firefox Android Full support 49 | Opera Android Full support 41 | Safari iOS Full support Yes | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
See also
- The
ParentNodeinterface -
Object types implementing the
ParentNodeinterface -
The
NonDocumentTypeChildNodeinterface
