如果我们尝试获取HTMLhtmlElement的firstChild节点,为什么不会出现文本节点(空格)?
在附图中,<html>
和<head>
标签之间有一些空格,理想情况下,html节点的firstChild Node对象应该是文本节点而不是头节点。
有没有任何已知错误?
我在Chrome中尝试过。
注意:空格b / w head和body在dom遍历api调用中正确反映,例如head.sibling of head是本例中的Text节点。
答案 0 :(得分:2)
由于html
element的内容模型不允许使用文本,因此解析器可以完全忽略任何空格。
将此与(例如)body
element的内容模型(即Flow Content)进行对比,其中列出(除其他事项外)text。虽然我希望你会发现在<body>
之后和另一个标签(比如<p>
)之前的前导空格也会被遗漏。我希望§8.2中描述的数十种解析状态之一涵盖了这一点。