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
ChildNodefrom the children list of its parent. ChildNode.before()- Inserts a set of
NodeorDOMStringobjects in the children list of thisChildNode's parent, just before thisChildNode.DOMStringobjects are inserted as equivalentTextnodes. ChildNode.after()- Inserts a set of
NodeorDOMStringobjects in the children list of thisChildNode's parent, just after thisChildNode.DOMStringobjects are inserted as equivalentTextnodes. ChildNode.replaceWith()- Replaces this
ChildNodein the children list 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. |
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 | No support | 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 | 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 and CharacterData |
(Yes) | (Yes) | No support | 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 | No support | 49.0 (49) | No support | 39 | No support | 54.0 |
See also
- The
ParentNodepure interface.
Document Tags and Contributors
Tags:
Contributors to this page:
stevenwdv,
jackblackevo,
arronei,
JSlife23,
erikadoyle,
jpmedley,
fscholz,
valtlait1,
jwhitlock,
Sheppy,
pantherCZ,
Jeremie,
teoli,
jdfm,
Vincent,
SarahWalrus,
copperwall,
jswisher
Last updated by:
stevenwdv,