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
ChildNode
from thechildren
list of its parent. ChildNode.before()
- Inserts a set of
Node
orDOMString
objects in thechildren
list of thisChildNode
's parent, just before thisChildNode
.DOMString
objects are inserted as equivalentText
nodes. ChildNode.after()
- Inserts a set of
Node
orDOMString
objects in thechildren
list of thisChildNode
's parent, just after thisChildNode
.DOMString
objects are inserted as equivalentText
nodes. ChildNode.replaceWith()
- Replaces this
ChildNode
in thechildren
list of its parent with a set ofNode
orDOMString
objects.DOMString
objects are inserted as equivalentText
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
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
ParentNode
interface -
Object types implementing the
ParentNode
interface -
The
NonDocumentTypeChildNode
interface