代码片断A:
为了让各位看官将“Bug”看得明晓,特将代码片断A精简如下:
代码片断B:
把代码片断A或者代码片断B保存为一个HTML文件,在IE以及Firefox中都可以正常运行,两者显示效果一致。
问题出现在,如果把代码片断B中第1行的<body>删除:
代码片断C:
<html>
<head>
</head>
<body>
<center>
<span id="tableHolder"></span>
<script language="javascript">
document.getElementById("tableHolder").innerHTML="Test of text is here!";
</script>
</body>
</html>
<head>
</head>
<body>
<center>
<span id="tableHolder"></span>
<script language="javascript">
document.getElementById("tableHolder").innerHTML="Test of text is here!";
</script>
</body>
</html>
代码片断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>
2 <center>
3 <span id="tableHolder"></span>
4
5 <script language="javascript">
6 document.getElementById("tableHolder").innerHTML="Test text is here!";
7 </script>
问题出现在,如果把代码片断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>
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"呢?
最后,通过反复比较,还有更怪的发现:
待续……
浙公网安备 33010602011771号