IE和其他浏览器的差异';javascript对象引用的处理
在FireFox和Chrome中,我可以引用如下对象值:IE和其他浏览器的差异';javascript对象引用的处理,javascript,json,internet-explorer,object,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');
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}]]
编辑:
这似乎是缓存的问题。感谢您的回复。请尝试:
key = (value[0] || value).name.replace(' ', '');
似乎
value
已经是您需要的数组元素了您确定“数据”对象就是这个样子吗?如果是这样的话,那代码在IE8中就可以正常工作了。alert(JSON.stringify(value))
在IE8中显示了什么?在IE8中对我很有用。检查:再次感谢所有回复。