我在IE8上遇到这个奇怪的问题。我的应用程序通过ajax获取div并将其附加到HTML。
$('#formPromocao').submit(function () {
persistPageIndex();
var postData = $(this).serialize();
$.post($(this).attr('action'), postData, function (data) {
$('#lista').empty();
$('#lista').append(data);
prepareNewForm();
});
return false;
});
这适用于除IE8之外的所有浏览器,附加的HTML没有被浏览器样式化,我无法弄清楚原因。
有没有人在此之前偶然发现了这个问题?任何帮助将不胜感激。
编辑:
我发现了问题:HTML人员在应用程序中使用HTML5,在IE8上有一个处理HTML5的脚本:http://html5shiv.googlecode.com/
我必须找到一种方法,在HTML更新时再次运行此脚本。我能安然做到吗?
答案 0 :(得分:2)
在附加到文档之前使用shiv功能:
html = innerShiv(html, false);
$('something').append(html);
答案 1 :(得分:1)
这通常是因为您附加了无效的HTML,或者页面中已经存在无效的HTML。
答案 2 :(得分:1)
以下是我设法在IE中添加HTML5的方法。
我找到了这个惊人的脚本:http://jdbartlett.github.com/innershiv/#download然后我所要做的就是将innerShiv的结果附加到HTML:
$('#formPromocao').submit(function () {
persistPageIndex();
var postData = $(this).serialize();
$.post($(this).attr('action'), postData, function (data) {
$('#lista').empty();
$('#lista').append(innerShiv(data));
prepareNewForm();
});
return false;
});