JamesBrownIsDead
JamesBrownIsDead

Reputation: 115

DOM node child collections--what's the difference?

What's the difference between the children and childNodes collections of a node? And childElementCount and childNodes.length?

Upvotes: 9

Views: 5218

Answers (2)

bobince
bobince

Reputation: 536339

element.childNodes and element.childNodes.length: includes child elements, text nodes (including whitespace nodes between elements) and comments (plus potentially CDATASections, ProcessingInstructions, DocumentTypes and EntityReferences, depending on the document and parser). Defined by the DOM Level 1 Core standard and has been available on every browser for many years.

element.children and element.childElementCount: includes only element nodes, so can be simpler to handle in some cases. childElementCount is defined by the Element Traversal API standard and is available in the latest versions of Mozilla, Opera and WebKit. children is not defined by any standard, but is available in IE and up-to-date versions of Mozilla, Opera, WebKit and IE.

Upvotes: 22

Quentin
Quentin

Reputation: 943128

Children contains only elements. ChildNodes contains all nodes.

Upvotes: 2

Related Questions