为什么我们在一个简单的文档中获得空文本节点

时间:2012-10-18 07:42:19

标签: html css internet-explorer-9 textnode

鉴于这个简单的代码

<!Doctype html>
<html>
<head>
<title>Start Here</title>
</head>
<body>
<script type="text/javascript">
document.write("<h1>Start Here!</h1>");
</script>
</body>
</html>

我在IE9中获得了很多空文本节点,如下所示。

Image

在经历了类似的问题后,我尝试了以下内容。

  • 关闭所有标签。
  • 删除所有空格。
  • 使用无BOM的UTF
  • EOL = unix格式

没有用。没有什么严重的想知道为什么会这样。

1 个答案:

答案 0 :(得分:4)

所有字符(包括换行符)都会生成文本节点。

如果删除换行符,空文本节点将消失。例如从

改变
<head>
<title>Start Here</title>

<head><title>Start Here</title>

将从head块的开头删除空文本节点。

据我所知,您无法控制IE9开发人员工具栏中空文本节点的可见性。作为一种解决方法,您可以安装并使用Firebug Lite,它可以为您提供更清晰的元素表示形式:

Firebug Lite in IE9

请注意,空文本节点只是文档结构的正常部分,您不必担心 - 请注意,即使换行也会生成它们。