Specification Document: DOM Text Nodes
I am reading a document about HTML5. A few lines down from where I linked, a sample DOM tree is displayed for the sample HTML code given. Why is there no text node directly before the <head>
element? Why is there no text node between the DOCTYPE
and <html>
nod开发者_如何转开发es? Error or feature?
Feature. The main reason is that, given the markup
<!DOCTYPE html>
<html>
<head>
<title>Sample page</title>
...,
some people expect
document.documentElement.firstChild
to return the head
element. However, if the text node were included, that is the node that would be returned.
(Note, also, that the new line between </body>
and </html>
ends up in the body
element.)
The text node before the <head>
is probably an omission. You don't get a text node before the root element because most XML/HTML parsers can't deal with elements outside the root node, so they silently ignore them. The same happens if you add a comment or a processing instruction there.
精彩评论