在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}]]
修改: 这似乎是缓存的问题。感谢所有的回复。
答案 0 :(得分:1)
尝试:
key = (value[0] || value).name.replace(' ', '');
似乎value
已经是你需要的数组元素