在Internet Explorer 8中带有前导空格和锚标记的jQuery.html()

时间:2012-06-06 17:04:41

标签: jquery internet-explorer-8 innerhtml

更新:此问题应该已关闭,因为问题是由于我自己的编码错误而且没有用处。

当有一个领先的空白和一个锚标记时,我遇到了IE8和jQuery.html()的问题。要重现此问题,请转到此处:

http://jquery.com/

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

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

您会注意到屏幕上没有任何内容。在控制台中输入此内容将确认正文的内容为空:

$('body').html();

如果我使用本机innerHTML,则不会发生此问题。 jQuery绕过IE8的原生innerHTML,而是使用jQuery.append(),因为IE8会剥离前导空格。

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

1 个答案:

答案 0 :(得分:3)

您的标记无效,如果您将其关闭则有效,

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

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