【问题标题】:jQuery.html() with leading whitespace and anchor tag in Internet Explorer 8 [closed]Internet Explorer 8 中带有前导空格和锚标记的 jQuery.html() [关闭]
【发布时间】:2012-06-06 17:04:40
【问题描述】:

更新:这个问题应该被关闭,因为这个问题是由于我自己的编码错误造成的,并不是很有用。

当内部有前导空格和锚标记时,我遇到了 IE8 和 jQuery.html() 问题。要重现该问题,请转到此处:

http://jquery.com/

现在在 IE8 开发者控制台中输入:

$('body').html(' test<a href="">foo<a>');

您会注意到屏幕上没有打印任何内容。在控制台输入这个会确认body的内容是空的:

$('body').html();

如果我使用原生的 innerHTML,就不会出现这个问题。 jQuery 绕过了 IE8 的原生 innerHTML,而是使用 jQuery.append(),因为 IE8 会去除前导空格。

有人知道为什么会这样吗?这是一个已知的错误吗?

【问题讨论】:

标签: jquery internet-explorer-8 innerhtml


【解决方案1】:

您的标记无效,如果您关闭它,它会起作用,

$('body').html(' test<a href="">foo</a>');

我不知道 jQuery 在这里应该如何处理无效标记,所以它可能仍然是一个错误。

【讨论】:

  • 我不确定无效标记上的未定义行为是否可以被视为错误。垃圾进,垃圾出。
  • 哇,谢谢。这是我的一个巨大的疏忽。我将删除该问题,因为它对其他人没有用。
  • @JohnnyO,或者我们可以关闭它,因为它过于本地化,也许它会帮助其他犯同样错误的人。您的选择。
  • 弗雷德里克,好建议。我无法删除它,因为它已被回答,所以我投票关闭它。
猜你喜欢
  • 2011-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 2020-07-17
  • 2011-10-08
相关资源
最近更新 更多