Document.documentElement returns the Element that is the root element of the document (for example, the <html> element for HTML documents).
var element = document.documentElement;
var rootElement = document.documentElement;
var firstTier = rootElement.childNodes;
// firstTier is the NodeList of the direct children of the root element
for (var i = 0; i < firstTier.length; i++) {
// do something with each direct kid of the root element
// as firstTier[i]
} HTML documents typically contain a single child node, <html>, perhaps with a DOCTYPE declaration before it. XML documents often contain multiple child nodes: the root element, the DOCTYPE declaration, and processing instructions.
That's why you should use document.documentElement rather than document.firstChild to get the root element.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/document/documentElement