【问题标题】:Does Internet Explorer (still) remove empty elements from DOM?Internet Explorer(仍然)是否从 DOM 中删除空元素?
【发布时间】:2017-12-03 12:50:00
【问题描述】:

至少在过去的某一时刻,Internet Explorer 会从 DOM 中删除空元素。

所以元素:

<div id="something"></div>
<span></span>

永远不会出现,无法被 JavaScript 定位等。

常见的解决方法是:

<div id="something">&nbsp;</div>
<span>&nbsp;</span>

任何非 EOL 版本的 Internet Explorer 是否仍具有此行为?

哪些版本的 Internet Explorer 有/有这种行为,或者这是一个神话? (当 IE6 出现时,这个建议很常见)

【问题讨论】:

  • 只是为了让人们不要认为我疯了,这个人也相信! f15ijp.com/2010/11/…
  • 就像您在评论中链接的错误报告一样,这是关于渲染元素,而不是从 DOM 中删除它。甚至 IE6 也渲染了一个没有任何内容但背景和高度很好的 div(我刚刚检查过),因此该博客文章似乎非常可疑。
  • (对不起,链接在下面的答案中,不是评论。)

标签: html internet-explorer legacy


【解决方案1】:

自 1996 年以来,我一直在断断续续地进行 Web 开发,但我从未见过 IE 这样做,也没有听到有人说这样做过。

我碰巧有一个旧的 Windows 2000 虚拟机,上面装有 IE6,所以我启动它并尝试了它:不,它不会删除这些元素。

我很确定没有非 EOL 版本的 IE 会这样做,并且相当肯定没有 EOL 版本会这样做。 :-)

【讨论】:

    【解决方案2】:

    根据bugzilla entry 的说法,18 年前 Netscape Navigator 4 在 quirks 模式下遇到了空表格单元格的问题。

    这与今天无关,但可能是谣言的来源。

    【讨论】:

    • 那不是那个错误报告所说的。它说它没有显示没有内容的表格单元格(例如,没有显示背景颜色、边框等),而不是它删除它们。 (事实上​​,IE 甚至 Firefox 也是如此。)
    猜你喜欢
    • 2010-11-02
    • 2013-04-21
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 2011-09-21
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多