为什么通过html()附加HTML不能在IE8中运行?

时间:2012-10-22 10:08:14

标签: javascript jquery internet-explorer append dynamic-data

我在ie8上调试了一个网站,无法通过AJAX添加动态内容以显示在页面上。

ajax调用正确完成,我可以console.log /警告返回的HTML,并且没有弹出的脚本错误。只有空文本节点的空白页。

我的脚本附加内容如下所示:

// ajax content returned (HTML string)
var makeUp = data,
    target = $('.registryWrapper');

target.last()
    // css3 transition
    .addClass('fade out')
    // clear
    .html('')
    // add
    .html( makeUp )
    .append( someotherstuff )
    // Jquery Mobile enhancement
    .trigger('create')
    .removeClass('out')
    .addClass('in')

任何想法为什么这不起作用

谢谢!

1 个答案:

答案 0 :(得分:2)

在IE8中,如果进入的HTML不是完全格式化(针对正在使用的DTD),则.html()/。innerHTML将不执行任何操作 - 它不会容忍任何错误,这与它正常解析。

如果用非常简单的<p>Hello World!</p>之类的东西替换数据,那么你应该发现它有效(如果不能,那么其​​他东西就错了) - 在这种情况下你需要找到HTML的错误传入。