2011-04-26 58 views
0

我有下面和IE告诉我'id'为空或不是对象。在所有其他浏览器中工作正常,所以认为这可能是IE中的代码格式问题?思考?IE中的jquery错误只有

function addZoom(region){ 
    $('<img />').addClass(settings.zoomClass) 
     .attr({ 
      src: settings.blankImage, 
      id: region.id 
     }).css({ 
      position: 'absolute', 
      width: region.width, 
      height: region.height, 
      top: region.top, 
      left: region.left, 
      cursor: 'pointer' 
     }).appendTo(map).click(function(){ 
      //hide neighboring bullets and zoomables 
      var width = settings.width; 
      var height = settings.height; 
      if(region.scan){ 
       width = region.scanwidth; 
       height = region.scanheight; 
      } 
      $(this).siblings().fadeOut(); 
      $(this).hide() 
        .attr('src', region.image) 
        .fadeIn('slow') 
        .animate({ 
         width: width, 
         height: height, 
         top: '0px', 
         left: '0px' 
        }, settings.zoomDuration, '', function(){ 
         displayMap(region); 
        }); 
     }); 
} 

编辑:

这里是全码:http://dl.dropbox.com/u/27101260/map.js

误差以id: region.id在上面的片段被抛出。

回答

0

你的代码中的哪个部分是抛出的错误?它在id: region.id?如果是这样,它看起来像你有你的变量范围问题region。这是互联网浏览器臭名昭着的挑剔。

您可以发布您的代码的其余部分,特别是region被分配的位?

+0

这是完整的代码:[链接](http://dl.dropbox.com/u/27101260/map.js) 错误是在上面的代码片段中引发id:region.id。 – RonnieT 2011-04-26 16:45:20

0

您正在将区域传入addZoom函数。您访问attr中的region.id。它看起来像(没有任何附加信息),此时id值没有设置。您是否在运行时检查了代码,以确定region是否在正确的范围内(特别是在您拨打addZoom时)?