-1

<>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 基本上将空标签内的divand视为标签的兄弟姐妹,而不是作为侄子和侄女。scripttd

有人知道为什么吗?

4

1 回答 1

3

您所做的事情违反了 HTML 标准。每个浏览器都会以不同的方式处理类似的奇怪情况。为什么不将其包装在 td 中?

于 2011-10-14T13:25:49.813 回答