给出这个简单的代码
<!Doctype html>
<html>
<head>
<title>Start Here</title>
</head>
<body>
<script type="text/javascript">
document.write("<h1>Start Here!</h1>");
</script>
</body>
</html>
我在 IE9 中得到很多空文本节点,如下所示。
在解决了类似的问题后,我尝试了以下方法。
- 关闭所有标签。
- 删除所有空格。
- 使用无 BOM 的 UTF
- EOL = unix 格式
这没有帮助。没什么大不了的,只是想知道为什么会这样。
最佳答案
所有字符(包括换行符)都会生成文本节点。
如果删除换行符,空文本节点将消失。例如更改为
<head>
<title>Start Here</title>
至
<head><title>Start Here</title>
将从 head
block 的开头删除空文本节点。
据我所知,您也无法控制 IE9 开发人员工具栏中空文本节点的可见性。作为解决方法,您可以安装并使用 Firebug Lite这为您提供了更清晰的元素树表示:
请注意,空文本节点只是文档结构的正常部分,您无需担心 - 只需要注意,即使是换行符也会生成它们。
关于html - 为什么我们会在简单的文档中得到空文本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12949546/