如果存在b / w html和头节点,则忽略文本节点?

时间:2013-03-30 14:40:59

标签: javascript google-chrome dom

如果我们尝试获取HTMLhtmlElement的firstChild节点,为什么不会出现文本节点(空格)?

在附图中,<html><head>标签之间有一些空格,理想情况下,html节点的firstChild Node对象应该是文本节点而不是头节点。

有没有任何已知错误?

我在Chrome中尝试过。

注意:空格b / w head和body在dom遍历api调用中正确反映,例如head.sibling of head是本例中的Text节点。

enter image description here

1 个答案:

答案 0 :(得分:2)

由于html element的内容模型不允许使用文本,因此解析器可以完全忽略任何空格。

将此与(例如)body element的内容模型(即Flow Content)进行对比,其中列出(除其他事项外)text。虽然我希望你会发现在<body>之后和另一个标签(比如<p>)之前的前导空格也会被遗漏。我希望§8.2中描述的数十种解析状态之一涵盖了这一点。