jQuery .html()函数在IE 11中不起作用

在我的.net MVC3 Web应用程序中,我有一个返回一些html代码的ajax调用。 我将这个html传递给div,如下所示:

$.ajax({ url: 'controller/action', data: {id: id,}, type: 'GET', async: false, success: function (data) { $("#container").html(data); }, }); 

这在除了ie之外的所有浏览器中都可以正常工作。会发生什么是html不会在#container div中呈现,除非我点击页面上的某个位置。

如何在不点击ie11的任何地方的情况下获取html?

谢谢

可能的原因是HTML中的一小段语法由IE不满意的ajax返回。 在我的情况下,它是由标记内的HTML注释引起的。 IE倒闭但其他浏览器都没问题。

我建议删除ajax调用返回的HTML中的所有内容,除了“TEST”之类的一行。 如果有效则您知道它不是JQuery / Javascript问题。 然后,您可以在返回的HTML中添加返回行,直到找到IE不满意的行。

  $.ajax({ url: 'controller/action', data: {id: id,}, type: 'GET', async: false, success: function (data) { $("#container").empty().append(data); }, }); 

使用append而不是html来避免这些问题。 empty()用于在追加之前清除。