1

我有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有没有其他方法可以使这项工作?

4

3 回答 3

3

为了获得动态对象属性访问,我们需要使用方括号表示法

console.log( contents[ inner ] );

因此,我们不能使用点符号动态访问属性名称。

于 2013-04-03T06:11:26.670 回答
2

您可以使用 indexer[]并传递variable包含属性 name 的值来获取property.

改变

console.log(contents.inner);

console.log(contents[inner]);
于 2013-04-03T06:11:50.487 回答
0

你必须先解析你的 JSON 字符串,

var obj = $.parseJSON(contents);

然后尝试 console.log

console.log(obj[inner]);

但首先验证您的 json 字符串。

于 2013-04-03T06:14:53.803 回答