What's the difference between the children and childNodes collections of a node? And childElementCount and childNodes.length?
Children contains only elements. ChildNodes contains all nodes.
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.