Jquery.html()不能在IE7中工作,但是innerHTML在同一个地方工作

时间:2012-12-21 05:48:49

标签: javascript jquery internet-explorer browser

我实现了一个功能,其中div通过ajax响应填充,检查下面的代码以获得更清晰:

jQuery.ajax({
    type: 'POST',
    url: url,
    dataType: 'json',
    data:data,
    success: function(jsonResp) {
        $('#formContainer').html(jsonResp.html);
    }
});

jquery .html()函数正在FF,crome,IE 8,9中工作,但不能按预期在IE7中工作 它没有填充给定的html响应,我在代码中进行了一些调试。检查是否有任何其他具有相同ID的div但是文档中只有一个div具有'formContainer'ID,之后当我使用innerHTML函数而不是$.html()函数时,它正在工作正确地在IE7中, 我无法弄清楚为什么innerHTML正在发挥作用& $.html()没有。

如果有任何主要原因,我需要在整个应用程序中用$().html()函数替换innerHTML函数。

4 个答案:

答案 0 :(得分:2)

jQuery html attribute not working in IE

此链接提供了无数种方法。我们遇到了同样的问题,并找到了解决这个问题的方法。

答案 1 :(得分:0)

一起使用empty()append()

$("#formContainer").empty();
$("#formContainer").append(jsonResp.html);

答案 2 :(得分:0)

尝试使用附加代替 html 方法,详见此post

  $("#formContainer").empty();
  $("#formContainer").append(jsonResp.html);

答案 3 :(得分:0)

尝试

jQuery('#formContainer').html(jsonResp.html);

而不是

$('#formContainer').html(jsonResp.html);