代码片断A:
<html> 
<head> 
</head> 
<body> 
<center> 
<span id="tableHolder"></span> 
 
<script language="javascript"> 
document.getElementById(
"tableHolder").innerHTML="Test of text is here!"
</script> 
</body> 
</html> 
 为了让各位看官将“Bug”看得明晓,特将代码片断A精简如下:
 代码片断B:
1 <body> 
2 <center> 
3 <span id="tableHolder"></span> 
4  
5 <script language="javascript"> 
6 document.getElementById("tableHolder").innerHTML="Test text is here!"
7 </script> 
把代码片断A或者代码片断B保存为一个HTML文件,在IE以及Firefox中都可以正常运行,两者显示效果一致。

问题出现在,如果把代码片断B中第1行的<body>删除:
代码片断C:
1 <center>
2 <span id="tableHolder"></span>
3 
4 <script language="javascript">
5 document.getElementById("tableHolder").innerHTML="Test of text is here!";
6 </script>


在IE中则会出现如下错误:
    行:6  
    错误: 'document.getElementById("…")'为空或不是对象
如下图:
弹出错误窗口

通过仔细比较,发现问题出在<body>上,不知这算不算是IE的"Bug"呢?



最后,通过反复比较,还有更怪的发现:

待续……