我正在阅读关于HTML5的document。从我链接的地方开始的几行,将显示一个示例DOM树,用于给出示例HTML代码。为什么在<head>
元素之前没有文本节点?为什么在DOCTYPE
和<html>
节点之间没有文本节点?错误或功能?规范文档:DOM文本节点
1
A
回答
2
特征。主要的原因是,由于标记
<!DOCTYPE html>
<html>
<head>
<title>Sample page</title>
...,
一些人期望
document.documentElement.firstChild
返回head
元素。但是,如果包含文本节点,那就是将要返回的节点。
(注意,也即</body>
和</html>
之间的新生产线在body
元素结束。)
0
<head>
之前的文本节点可能是遗漏的。在根元素之前没有获得文本节点,因为大多数XML/HTML解析器无法处理根节点之外的元素,因此他们会默默忽略它们。如果您在那里添加评论或处理指令,也会发生同样的情况。
+0
我没有一个具体的例子,但我想像某些环境下是足够“智能”来过滤出“不相关”的文本,即非重要的空白。如果一个文本元素只包含微不足道的空白,那么对于一个实现来说它可能是合法的。作为一名开发人员,在发生这种情况时我通常很感激。 – 2010-07-12 10:07:41
+1
“”和“
”之间的“CR”可以比“”和“”之间的“CR”更加显着或更低? – 2010-07-12 11:35:23+1
我不得不同意亚伦。虽然和
之间的CR对我来说是无用的,但其他一些CR的重要性同样重要。如果可能的话,我喜欢我的环境足够聪明以完全遵守标准。实际上,我记得IE和FF之间的文本节点的差异令我非常恼火。也就是说,我在http://www.w3.org/Bugs/Public/show_bug.cgi?id=10136上发布了关于该页面的评论以供澄清。感谢您的回应。 – TNi 2010-07-12 18:28:47相关问题
- 1. html dom文本节点
- 2. 更改DOM文本节点
- 3. DOM:获取文档中的所有文本节点(PHP)
- 4. PHP DOM文档的文本节点替换多个孩子
- 5. 从DOM获取根节点文档类
- 6. 访问单个XML DOM文档节点
- 7. DOM文档和XPath的 - 每个节点
- 8. PHP DOM文档获取节点信息
- 9. XmlSlurper - 列出文本和xhtml文档的常规节点
- 10. 从点获取DOM文本节点?
- 11. 如何获得dom范围内的所有文本节点?
- 12. DOM导航:消除文本节点
- 13. 从javascript dom文本节点替换
- 14. 通过文本获取dom节点
- 15. 在DOM中获取文本节点值
- 16. PHP DOM解析所有文本节点
- 17. DOM - 解析来自节点的文本
- 18. 在Java中的DOM文档中规范XML名称空间?
- 19. 在DOM文档
- 20. 文档Alternative? DOM?
- 21. 添加节点XML不SimpleXML的或DOM文档
- 22. Xml解析器/从XML节点列表创建XML DOM文档
- 23. XML DOM文档PHP - 获得其中属性值节点
- 24. 将具有空值的节点附加到DOM文档
- 25. 如何知道何时将dom节点添加到文档中?
- 26. 使用DOm和PHP为现有的XML文档添加节点
- 27. Java的XML DOM文档getElementsByTagNameNS返回空节点列表
- 28. USB声卡设备类规范文档
- 29. 方法解析文档和规范行
- 30. 语法在Mozilla文档/的ECMAScript规范
我很喜欢这个答案,因为你也注意到
之后的额外CR。我也是,但当时不知道该怎么想。所以,这绝对可能是一个由于遗留原因而做出的决定(无证)。与此同时,该团体愿意在减少混淆的基础上对标准进行其他修改。很奇怪。我会让问题代表一点,这样我就可以弄清楚究竟发生了什么。如果你有兴趣,我还要求澄清http://www.w3.org/Bugs/Public/show_bug.cgi?id=10136 – TNi 2010-07-12 18:34:57编辑愿意改变规范以减少混淆,但只有当网页不依赖于特定行为时,以及浏览器供应商是否愿意实施更改。情况并非如此。 – Ms2ger 2010-07-13 16:51:05