我很难搞清楚为什么这段jQuery代码无法在IE 6或7中运行:
$("#date").datepicker({
dateFormat: "mm-dd-yy",
altFormat: "yy-mm-dd",
altField: "#realdate",
onSelect: function(dateText, inst) {
$("#tcontainer").animate({"opacity" : 0}, 500, function() {
$.post("index.php", {date: $("#realdate").val()}, function(data) {
data = $(data).find("#maintable");
$("#maintable").html(data);
$("#maintable tr:odd").addClass("alt");
$(".stripe tr").hover(function() {
$(this).addClass("trhover");
}, function() {
$(this).removeClass("trhover");
});
$("#tcontainer").animate({"opacity": 1}, 500);
});
});
}
});
我尝试使用fadeIn / fadeOut和show / hide更改animate()方法,但这不起作用。我试着不做任何动画,但是没有用。
有没有人有任何想法为什么这在IE 6和7中不起作用?它适用于其他任何地方。
谢谢!
答案 0 :(得分:0)
我想让大家知道我解决了IE 6和7中发生的问题,并希望与大家分享解决方案。这是导致问题的两行 - data = $(data).find(“#maintable”);和$(“#maintable”)。html(data);发生的事情是我以为我正在将AJAX请求中的新数据替换到表中,同时替换整个表本身。真正发生的是上面的代码将#maintable放在现有的#maintable中,所以实际上有两个表。我曾经想过,通过执行上面的代码,它会覆盖那里的表以及新数据,但事实并非如此。我创建了一个id为adminarea(或类似的东西)的div,并修改了两行,如下所示:
data = $(data).find("#maintable");
$("#adminarea").html(data);
我希望这对那些可能遇到同样问题的人有所帮助。再次感谢所有帮助过的人!