IE和其他浏览器处理javascript对象引用的区别

时间:2011-04-08 15:47:22

标签: javascript json internet-explorer object

在FireFox和Chrome中,我可以像这样引用对象值:

key = value[0].name  

但IE 8中的这个错误,说“value [0] .name”为空 知道为什么会这样吗?

完整代码:

     $.each(data, function(key, value){
         key = value[0].name.replace(' ', '');
         var original = $('.'+key+'Link').attr('href');
         var updated = original + '&browseItem='+(this[0]).id;
         $('.'+key+'Link').attr('href', updated);
      });

和“data”id从JSON字符串派生的对象:

    [[{"name": "Due", "id": 9}], [{"name": "Fine", "id": 10}], [{"name": "Property Lien", "id": 11}]]

修改: 这似乎是缓存的问题。感谢所有的回复。

1 个答案:

答案 0 :(得分:1)

尝试:

key = (value[0] || value).name.replace(' ', '');

似乎value已经是你需要的数组元素