相关疑难解决方法(0)

Internet Explorer中的空白文本节点不一致

以下源代码警告以下结果:

Internet Explorer 7中:29
火狐3.0.3:37(正确)
的Safari 3.0.4(523.12.9):38
谷歌的Chrome 0.3.154.9:38

请忽略以下事实:

  • Webkit(Safari/Chrome)浏览器在body标记的末尾插入一个额外的文本节点
  • Internet Explorer在其空白节点中没有新行,就像它们应该的那样.
  • Internet Explorer没有开始的空白节点(<form>标记之前有明显的空格,但没有匹配的文本节点)

在测试页面的标签,以下标签具有插入DOM后,他们没有空白的文本节点:form,input[@radio],div,span,table,ul,a.

我的问题是:这些节点什么使它们成为Internet Explorer中的例外? 为什么在这些节点之后没有插入空格,并插入其他节点?

如果切换标记顺序,将doctype切换为XHTML(同时仍保持标准模式),则此行为相同.

这是一个提供一些背景信息链接,但没有理想的解决方案.可能没有解决这个问题的方法,我只是对这种行为感到好奇.

谢谢互联网,扎克

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
        function countNodes()
        {
            alert(document.getElementsByTagName('body')[0].childNodes.length);
        }
        </script>
    </head>
    <body onload="countNodes()">
        <form></form>
        <input type="submit"/>
        <input type="reset"/>
        <input type="button"/>
        <input type="text"/> …
Run Code Online (Sandbox Code Playgroud)

html whitespace internet-explorer

7
推荐指数
1
解决办法
5650
查看次数

标签 统计

html ×1

internet-explorer ×1

whitespace ×1