jQuery:IE返回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向服务器发出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);
}