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 ElementTraversalinterface inParentNodeandChildNode.previousElementSiblingandnextElementSiblingare now defined on the latter. TheCharacterDataandDocumentTypeimplemented the new interfaces. Added theremove(),before(),after()andreplaceWith()methods. | 
| Element Traversal Specification The definition of 'ElementTraversal' in that specification. | Recommendation | Added the initial definition of its properties to the ElementTraversalpure interface and use it onElement. | 
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 DocumentTypeandCharacterData | 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(), andreplaceWith() | 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 DocumentTypeandCharacterData | (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(), andreplaceWith() | 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,