【问题标题】:Make IE respect your whitespace with dynmically changed content通过动态更改内容让 IE 尊重您的空白
【发布时间】:2009-10-16 07:58:19
【问题描述】:

如果我在 html 中有以下行:

<span></span> wtf

然后我运行 jQuery 语句:

$("span").html("test");

它最终看起来像“testwtf”而不是“test wtf”。在不更改 html 的情况下我能做些什么吗?

【问题讨论】:

  • 您可能会在doctype.com上获得更好的结果
  • $("span").html("test");或 $("span").html("test ");
  • 那是不可接受的阿南德。首先,在其他浏览器中,会有一个额外的空间。其次,如果我愿意的话,我不可能在 HTML 中省略一个空格。这是关于自动化的东西。显然,如果我愿意,我可以手动完成。
  • 浏览器不剪掉多个空格吗?
  • @BT - 如果跨度在保留空白的元素内,只会有一个额外的空间(这些很少见,我现在只能想到 pre)。否则,多个空间将折叠为一个。所以阿南德的建议应该可行。

标签: javascript html dynamic internet-explorer whitespace


【解决方案1】:

这是因为 IE 将 &lt;span&gt;&lt;/span&gt; wtf 中的空格解释为前导空格,并忽略它(并将 HTML 解释为 &lt;span&gt;&lt;/span&gt;wtf)。因为 IE 对 HTML 的解释与其他浏览器不同,所以我认为如果不更改 HTML,您可以做很多事情,除了做一个像

这样的解决方法
$CONTAINER.html('<span>test</span> wtf')

或者更极端的解决方法,例如

if (jQuery.browser.msie) $("span").html("test "); else $("span").html("test");

编辑:初步测试表明 $("span").html("test "); 本身也足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    相关资源
    最近更新 更多