从对象向DOM元素添加内容

时间:2013-04-03 06:09:56

标签: javascript jquery

我有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对象,而该对象不存在。有没有其他方法可以使这项工作?

3 个答案:

答案 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字符串。