这与我之前的帖子有关:
jQuery .load Method causing page refresh AJAX
我更改了我的实现,使用 .ajax 方法而不是 .load,它在 Firefox 中工作正常,但在 IE7 或 IE6 中不行:
$('ul#coverTabs > li > a').live('click', function(event) {
// Find href of current tab
var $tabValue = $(this).attr('href');
$.ajax({
type: "GET",
cache: false,
dataType: "html",
url: $(this).attr('href'),
success: function(data){
$(data).find('.benefitWrap').each(function(){
var $benefitWrap = $(this).html();
$('.benefitWrap').replaceWith($('<div class="benefitWrap">' + $benefitWrap + '</div>'));
});
}
});
event.preventDefault();
});
这简直要了我的命,因为我花了很长时间才走到这一步。
有什么想法我哪里出错了吗?
最佳答案
不过很快。过去,我在使用 jQuery 时遇到过一些令人沮丧的问题,这些问题在 IE6/7 上默默地失败了。几乎在所有情况下,在我的代码中的某个地方(不一定是在有问题的 ajax 调用中),我在这样的参数后面有一个额外的逗号:
$.ajax({
type: "GET",
cache: false,
dataType: "html",
url: $(this).attr('href'),
success: function(){},
)}
我将通过 jslint 运行脚本在进行正确的调试之前,看看语法中是否有任何有趣的地方导致了此问题。
关于jQuery .ajax 方法在 IE7 和 IE6 中不起作用,但在 Firefox 中工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2320090/