规范文档:DOM文本节点
我正在读一本关于HTML5的书。从我链接的地方往下几行,将显示一个示例DOM树,用于给定的示例HTML代码。为什么在规范文档:DOM文本节点,dom,html,specifications,Dom,Html,Specifications,我正在读一本关于HTML5的书。从我链接的地方往下几行,将显示一个示例DOM树,用于给定的示例HTML代码。为什么在元素前面没有文本节点?为什么DOCTYPE和节点之间没有文本节点?错误或功能?前面的文本节点可能是遗漏。在根元素之前没有文本节点,因为大多数XML/HTML解析器不能处理根节点之外的元素,所以它们会默默地忽略它们。如果在此处添加注释或处理指令,也会发生同样的情况。功能。主要原因是 <!DOCTYPE html> <html> <head>
元素前面没有文本节点?为什么DOCTYPE
和
节点之间没有文本节点?错误或功能?前面的文本节点可能是遗漏。在根元素之前没有文本节点,因为大多数XML/HTML解析器不能处理根节点之外的元素,所以它们会默默地忽略它们。如果在此处添加注释或处理指令,也会发生同样的情况。功能。主要原因是
<!DOCTYPE html>
<html>
<head>
<title>Sample page</title>
...,
返回头
元素。但是,如果包含文本节点,则将返回该节点
(请注意,
和
之间的新行最后出现在主体
元素中。)我没有一个具体的例子,但我认为有些环境足够“智能”,可以过滤掉“不相关”的文本,即不重要的空白。如果一个文本元素只包含不重要的空白,那么实现将其删除可能是合法的。作为一名开发人员,当这种情况发生时,我通常会心存感激。在哪种情况下,“”和“”之间的“CR”会比“”和“”之间的“CR”更重要或更不重要?我必须同意Aaron的观点。虽然和之间的CR对我来说毫无用处,但其他CR也同样重要。如果可能的话,我希望我的环境足够智能,能够严格遵守标准。事实上,我记得我对IE和FF之间文本节点的差异感到非常恼火。也就是说,我已经在那个页面上发表了一条评论,希望澄清。谢谢你的回复。我非常喜欢这个答案,因为你也注意到了之后额外的CR。我也是,但当时不知道该怎么想。因此,这绝对可能是出于遗留原因做出的决定(未记录在案?)。同时,集团愿意在减少混乱的基础上对标准进行其他修改。很奇怪。我会让这个问题保持一段时间,这样我就能弄清楚到底发生了什么。如果您感兴趣,我还要求在编辑器处澄清,编辑器是否愿意更改规范以减少混乱,但前提是网页不依赖特定行为,并且浏览器供应商是否愿意实施更改。这里的情况并非如此。
document.documentElement.firstChild