仅IE中的Jquery错误

时间:2011-04-26 16:09:00

标签: jquery internet-explorer

我有以下内容,IE告诉我'id'为null或不是对象。在所有其他浏览器中工作正常,以为它可能是IE中的代码格式问题?想法?

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错误。

2 个答案:

答案 0 :(得分:0)

您的代码中的哪个位置会引发错误?是id: region.id吗?如果是这样,我认为您的region变量范围存在问题。这是互联网浏览器众所周知的挑剔。

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

答案 1 :(得分:0)

您正在将区域传递到addZoom函数。您可以访问region.id中的attr。看起来(没有任何附加信息)此时未设置id值。您是否在运行时检查过代码以查看region是否在正确的范围内(特别是在您致电addZoom时)?