为什么这个幻象空标签出现在IE开发人员工具中?

时间:2011-10-14 13:19:12

标签: html internet-explorer firebug ie-developer-tools

在IE的开发者工具HTML标签中显示一个幻像空标记(<>)。

以下是实际HTML源代码的一小部分,删除了一些不相关的部分:

<td><img src="1.jpg"></td>
<!--start mo script-->
<div id="mo">
<script type="text/javascript" src="mo.js"></script>
</div>
<script type="text/javascript">
setTimeout('timeOutMO()', 5000);
function timeOutMO() { 
   document.getElementById("mo").innerHTML = "";
}
</script>
<!--end mo script-->
<td><img src="2.jpg"></td>

在Firefox的Firebug和Chrome调试器中,节点都按预期显示,<td><div><script><td>节点作为兄弟节点。

但是在IE的调试器中,我得到了一个虚拟的空节点,这些节点搞砸了。它看起来像这样:

<td>
   <img src="1.jpg">
</td>
<!--start mo script-->
<>
   <div id="mo">
      <script type="text/javascript" src="mo.js"></script>
   </div>
   <script type="text/javascript">...</script>
   <!--end mo script-->
</>
<td>
   <img src="2.jpg">
</td>

IE基本上将空标记中的divscript视为td标记的兄弟,而不是侄子和侄女。

有人知道为什么吗?

1 个答案:

答案 0 :(得分:3)

您正在做的事违反了HTML标准。每个浏览器都会处理不同的奇怪案例。为什么不将它包装在td中?