jQuery:IE返回ID为空
我有一个心跳间隔,每隔几秒钟调用一个函数。然后,该函数通过jQuery向服务器发出JSON请求,服务器返回JSON响应,并像往常一样返回成功的jQuery函数。在success函数中,它执行另一个jQuery函数,每个id对应一个foreach。从每个id调用另一个函数,function(this)。然后,该函数通过jQuery发出另一个JSON请求并获取数据 e、 g: 另外,请记住这些不是真正的函数名,这里只是一个实际问题的示例。问题是在IE7和IE8中,id变量是空的。在其他浏览器中,ID从不为空。我不明白为什么。有人能帮我吗jQuery:IE返回ID为空,jquery,json,internet-explorer,Jquery,Json,Internet Explorer,我有一个心跳间隔,每隔几秒钟调用一个函数。然后,该函数通过jQuery向服务器发出JSON请求,服务器返回JSON响应,并像往常一样返回成功的jQuery函数。在success函数中,它执行另一个jQuery函数,每个id对应一个foreach。从每个id调用另一个函数,function(this)。然后,该函数通过jQuery发出另一个JSON请求并获取数据 e、 g: 另外,请记住这些不是真正的函数名,这里只是一个实际问题的示例。问题是在IE7和IE8中,id变量是空的。在其他浏览器中,ID
谢谢是的,看起来您在jQuery的交叉兼容性方面遇到了问题。我会尝试将
.each()
绑定到this
,并大量使用console.log()
,直到找到脚本停止工作的地方。使用IE的开发人员工具(点击f12),您至少应该能够跟踪问题。我不确定IE如何处理您的语法,不需要多个jQuery.noConlict()
调用,而您的调用(如果您需要$
内部)应该如下所示:
function function2(id) {
(function($){
$.ajax({
success: function(data){
}
});
})(jQuery);
}
或者,将所有函数封装在一个
(函数($){/*code*/})(jQuery)中
,如果需要,也可以调用.noConflict()
。即使是我也面临同样的问题,因为您在ajax中完成了这项工作,有时IE对DOM一无所知
function function2(id) {
(function($){
$.ajax({
success: function(data){
}
});
})(jQuery);
}