我有contents
个对象,里面我有一些数据。我在做什么我首先抓取div标签的类名,然后基于该类名,我想从基于这个类的内容中获取数据。这是我的代码
var contents = {
inner_one: {
title: 'This is title for one',
body: 'This is body for one'
},
inner_two: {
title: 'This is title for two',
body: 'This is body for two'
}
};
var inner = $(div).attr('class'); //here lets say inner = inner_one
console.log(contents.inner);
但我上面的代码不起作用。我假设因为我的代码在inner
内查找contents
对象,而该对象不存在。有没有其他方法可以使这项工作?
答案 0 :(得分:3)
为了拥有动态对象属性访问,我们需要使用括号表示法。
console.log( contents[ inner ] );
因此,我们无法使用点符号动态访问属性名称。
答案 1 :(得分:2)
您可以使用索引器[]
并传递包含属性名称的variable
以获取property
的值。
更改
console.log(contents.inner);
到的
console.log(contents[inner]);
答案 2 :(得分:0)
您必须首先解析您的JSON字符串,
var obj = $.parseJSON(contents);
然后尝试console.log
console.log(obj[inner]);
但首先验证你的json字符串。