【发布时间】:2011-03-14 17:37:09
【问题描述】:
我正在阅读关于 HTML5 的 document。从我链接的地方向下几行,将显示一个示例 DOM 树,用于给出给定的示例 HTML 代码。为什么在<head> 元素之前没有文本节点?为什么DOCTYPE 和<html> 节点之间没有文本节点?错误或功能?
【问题讨论】:
标签: dom html specifications
我正在阅读关于 HTML5 的 document。从我链接的地方向下几行,将显示一个示例 DOM 树,用于给出给定的示例 HTML 代码。为什么在<head> 元素之前没有文本节点?为什么DOCTYPE 和<html> 节点之间没有文本节点?错误或功能?
【问题讨论】:
标签: dom html specifications
功能。主要原因是,鉴于标记
<!DOCTYPE html>
<html>
<head>
<title>Sample page</title>
...,
有些人期待
document.documentElement.firstChild
返回head 元素。但是,如果包含文本节点,则将返回该节点。
(还要注意,</body> 和 </html> 之间的新行以 body 元素结尾。)
【讨论】:
<head> 之前的文本节点可能是一个遗漏。您不会在根元素之前获得文本节点,因为大多数 XML/HTML 解析器无法处理根节点之外的元素,因此它们会默默地忽略它们。如果您在此处添加注释或处理指令,也会发生同样的情况。
【讨论】: