jQuery .html() 函数在 IE 11 中不起作用
jQuery .html() function doesnt work in IE 11
在我的 .net MVC3 Web 应用程序中,我有一个 ajax 调用 returns 一些 html 代码。我像这样将 html 传递给 div:
$.ajax({
url: 'controller/action',
data: {id: id,},
type: 'GET',
async: false,
success: function (data) {
$("#container").html(data);
},
});
这在除 ie 11 以外的所有浏览器中都可以正常工作。发生的情况是 html 不会在 #container div 中呈现,除非我单击页面上的某个位置。
如何在 ie11 中不点击任何地方就能让 html 渲染?
谢谢
$.ajax({
url: 'controller/action',
data: {id: id,},
type: 'GET',
async: false,
success: function (data) {
$("#container").empty().append(data);
},
});
使用 append 而不是 html 来避免这些问题。 empty() 用于在追加之前初始清除。
一个可能的原因是 ajax 返回的 HTML 中有一小段 IE 不满意的语法。在我的例子中,这是由 <script>
标签内的 HTML 注释引起的。 IE崩溃了,其他浏览器还好。
我建议从 ajax 调用返回的 HTML 中删除除了一行 'TEST' 之外的所有内容。如果可行,那么您就知道这不是 JQuery / Javascript 问题。然后,您可以在返回的 HTML 中添加回行,直到找到 IE 不满意的行。
在我的 .net MVC3 Web 应用程序中,我有一个 ajax 调用 returns 一些 html 代码。我像这样将 html 传递给 div:
$.ajax({
url: 'controller/action',
data: {id: id,},
type: 'GET',
async: false,
success: function (data) {
$("#container").html(data);
},
});
这在除 ie 11 以外的所有浏览器中都可以正常工作。发生的情况是 html 不会在 #container div 中呈现,除非我单击页面上的某个位置。
如何在 ie11 中不点击任何地方就能让 html 渲染?
谢谢
$.ajax({
url: 'controller/action',
data: {id: id,},
type: 'GET',
async: false,
success: function (data) {
$("#container").empty().append(data);
},
});
使用 append 而不是 html 来避免这些问题。 empty() 用于在追加之前初始清除。
一个可能的原因是 ajax 返回的 HTML 中有一小段 IE 不满意的语法。在我的例子中,这是由 <script>
标签内的 HTML 注释引起的。 IE崩溃了,其他浏览器还好。
我建议从 ajax 调用返回的 HTML 中删除除了一行 'TEST' 之外的所有内容。如果可行,那么您就知道这不是 JQuery / Javascript 问题。然后,您可以在返回的 HTML 中添加回行,直到找到 IE 不满意的行。