{{ APIRef("DOM") }}
The ParentNode
interface contains methods that are particular to {{domxref("Node")}} objects that can have children.
ParentNode
is a raw interface and no object of this type can be created; it is implemented by {{domxref("Element")}}, {{domxref("Document")}}, and {{domxref("DocumentFragment")}} objects.
Properties
- {{ domxref("ParentNode.children") }} {{experimental_inline}} {{readonlyInline}}
- Returns a live {{domxref("HTMLCollection")}} containing all objects of type {{domxref("Element")}} that are children of this
ParentNode
. - {{ domxref("ParentNode.firstElementChild") }} {{experimental_inline}} {{readonlyInline}}
- Returns the {{domxref("Element")}} that is the first child of this
ParentNode
, ornull
if there is none. - {{ domxref("ParentNode.lastElementChild") }} {{experimental_inline}} {{readonlyInline}}
- Returns the {{domxref("Element")}} that is the last child of this
ParentNode
, ornull
if there is none. - {{ domxref("ParentNode.childElementCount") }} {{experimental_inline}} {{readonlyInline}}
- Returns an
unsigned long
giving the amount of children that the object has.
Methods
- {{ domxref("ParentNode.append()") }} {{experimental_inline}}
- {{ domxref("ParentNode.prepend()") }} {{experimental_inline}}
- {{ domxref("ParentNode.query()") }} {{experimental_inline}}
- {{ domxref("ParentNode.queryAll()") }} {{experimental_inline}}
- {{ domxref("ParentNode.querySelector()") }} {{experimental_inline}}
- {{ domxref("ParentNode.querySelectorAll()") }} {{experimental_inline}}
Specification
Specification | Status | Comment |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-parentnode-firstelementchild', 'ParentNode.firstElementChild')}} | {{Spec2('DOM WHATWG')}} | Splitted the ElementTraversal interface in {{domxref("ChildNode")}} and ParentNode . The firstElementChild , lastElementChild , and childElementCount properties are now defined on the latter.The {{domxref("Document")}} and {{domxref("DocumentFragment")}} implemented the new interfaces. Added the children property.Added the append() and prepend() 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")}}. |
Browser compatibility
{{ CompatibilityTable() }}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support (on {{domxref("Element")}}) | 1.0 | {{CompatGeckoDesktop("1.9.1")}} | 9.0 [1] | 10.0 | 4.0 |
Support on {{domxref("Document")}} and {{domxref("DocumentFragment")}} {{experimental_inline}} | 29.0 | {{CompatGeckoDesktop("25.0")}} | {{CompatNo}} | 16.0 | {{CompatNo}} |
append() and prepend() {{experimental_inline}} |
{{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support (on {{domxref("Element")}}) | {{ CompatVersionUnknown() }} | {{CompatGeckoMobile("1.9.1")}} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
Support on {{domxref("Document")}} and {{domxref("DocumentFragment")}} {{experimental_inline}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("25.0")}} | {{CompatNo}} | 16.0 | {{CompatNo}} |
append() and prepend() {{experimental_inline}} |
{{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
[1] Internet Explorer 6, 7 and 8 supported it, but erroneously returns {{domxref("Comment")}} nodes as part of the results.
See also
- The {{domxref("ChildNode")}} pure interface.
-
Object types implementing this pure interface: {{domxref("Document")}}, {{domxref("Element")}}, and {{domxref("DocumentFragment")}}.