'var'为null或不是对象

时间:2010-10-07 09:54:27

标签: javascript internet-explorer-8 internet-explorer-7 null

代码在Firefox中运行良好,但在IE8中运行不正常。我收到一个错误:'address'为null或不是对象。

已经谷歌搜索了几天,无法得到如何修复/调试这个的明确答案。希望stackoverflow.com可以提供帮助。

var latlng = [
      {
address: new GLatLng(-6.1364941,106.8000411),
marker0: myIcon0
},
      {
address: new GLatLng(-6.1364941,106.8000411),
marker0: myIcon0
},
      {
address: new GLatLng(1.3520831,103.8198361),
marker0: myIcon0
},
      {
address: new GLatLng(14.06666671,121.33333331),
marker0: myIcon
},
    ];
  var markers = []; 
  for ( var i = 0; i < latlng.length; i++ )
    {
      var marker = new GMarker( latlng[ i ].address, latlng[ i ].marker0 );
      map.addOverlay( marker );
      markers[i] = marker;
    }
    $(markers).each(function(i,marker){ 
      GEvent.addListener(marker,"click", function(){ 
        // map.panTo(marker.getLatLng());
        map.setCenter(marker.getLatLng(), 10);
        marker.openInfoWindowHtml($('.view-display-id-attachment_1 .views-row-'+(i+1)).html(), {maxWidth:200});
      });
      $("<li />") 
        .html($('.view-display-id-attachment_1 .views-row-'+(i+1)).html()) 
        .click(function(){ 
          map.setCenter(marker.getLatLng(), 10);
          marker.openInfoWindowHtml($('.view-display-id-attachment_1 .views-row-'+(i+1)).html(), {maxWidth:200}); // custom balloon text
          // alert($('.view-display-id-attachment_1 .views-row-'+(i+1)).html()); // VIEWS ROW COUNT DEBUG
        }) 
        .appendTo("#wtb-list");
    });

1 个答案:

答案 0 :(得分:3)

问题在于:

marker0: myIcon
},  //<-- here!
    ];

在数组声明结尾处的尾随逗号会给出IE8问题,删除它:)其他浏览器......“忽略?”在大多数情况下,IE总是会出错。