我正在尝试访问实际上位于另一个对象内部的对象的属性(名称)。我在文件中初始化了对象:
var icons = {
"facebook": {name: 'facebook', icon_url: 'img/logos/facebook.png'}
};
然后尝试用这段代码检查对象:
var icon_current_class;
for(var icon in icons){
console.dir(icon);
//outputs an object named facebook but says it has no properties
if( $(this).hasClass( icon.name ) ){
icon_current_class = icon.name;
}else{
alert("Something went wrong. Please contact the mods.");
}
}
当然,每次运行时都会发出警报(“出现问题”)。我已经尝试了很长时间来寻找解决方案,但无济于事。有人可以帮忙吗?
最佳答案
for(var x in y)
x
是对象的key,需要用y[x]
返回值:
for(var icon_name in icons){
var icon = icons[icon_name];
.....code....
}
关于Javascript:无法通过 for..in 循环访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19483405/