{{APIRef("DOM")}}
The ChildNode
interface contains methods that are particular to {{domxref("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 {{domxref("Element")}}, {{domxref("DocumentType")}}, and {{domxref("CharacterData")}} objects.
Properties
There are neither inherited, nor specific properties.
Methods
There are no inherited methods.
- {{domxref("ChildNode.remove()")}} {{experimental_inline}}
- Removes this
ChildNode
from the children list of its parent. - {{domxref("ChildNode.before()")}} {{experimental_inline}}
- Inserts a set of {{domxref("Node")}} or {{domxref("DOMString")}} objects in the children list of this
ChildNode
's parent, just before thisChildNode
. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes. - {{domxref("ChildNode.after()")}} {{experimental_inline}}
- Inserts a set of {{domxref("Node")}} or {{domxref("DOMString")}} objects in the children list of this
ChildNode
's parent, just after thisChildNode
. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes. - {{domxref("ChildNode.replaceWith()")}} {{experimental_inline}}
- Replaces this
ChildNode
in the children list of its parent with a set of {{domxref("Node")}} or {{domxref("DOMString")}} objects. {{domxref("DOMString")}} objects are inserted as equivalent {{domxref("Text")}} nodes.
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('DOM WHATWG', '#interface-childnode', 'ChildNode')}} | {{Spec2('DOM WHATWG')}} | Split the ElementTraversal interface in {{domxref("ParentNode")}} and ChildNode . previousElementSibling and nextElementSibling are now defined on the latter. The {{domxref("CharacterData")}} and {{domxref("DocumentType")}} implemented the new interfaces. Added the remove() , before() , after() and replaceWith() methods. |
{{SpecName('Element Traversal', '#interface-elementTraversal', 'ElementTraversal')}} | {{Spec2('Element Traversal')}} | Added the initial definition of its properties to the ElementTraversal pure interface and use it on {{domxref("Element")}}. |
Polyfill
External on github: childNode.js
Browser compatibility
{{ CompatibilityTable }}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support (on {{domxref("Element")}}) | 1.0 | {{CompatGeckoDesktop(23)}} | 9.0 | 10.0 | 4.0 |
Support on {{domxref("DocumentType")}} and {{domxref("CharacterData")}} {{experimental_inline}} | 23.0 | {{CompatGeckoDesktop(23)}} | {{CompatNo}} | 16.0 | {{CompatNo}} |
remove() {{experimental_inline}} |
29.0 | {{CompatGeckoDesktop(23)}} | Edge | 16.0 | {{CompatNo}} |
before() , after() , and replaceWith() {{experimental_inline}} |
{{CompatNo}} | {{CompatGeckoDesktop(49)}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support (on {{domxref("Element")}}) | {{CompatVersionUnknown}} | {{CompatGeckoMobile(23)}} | {{CompatVersionUnknown}} | 10.0 | {{CompatVersionUnknown}} |
Support on {{domxref("DocumentType")}} and {{domxref("CharacterData")}} {{experimental_inline}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile(23)}} | {{CompatNo}} | 16.0 | {{CompatNo}} |
remove() {{experimental_inline}} |
{{CompatVersionUnknown}} | {{CompatGeckoMobile(23)}} | {{CompatNo}} | 16.0 | {{CompatNo}} |
before() , after() , and replaceWith() {{experimental_inline}} |
{{CompatNo}} | {{CompatGeckoMobile(49)}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
See also
- The {{domxref("ParentNode")}} pure interface.
-
Object types implementing this pure interface: {{domxref("CharacterData")}}, {{domxref("Element")}}, and {{domxref("DocumentType")}}.