读取对象的对象属性

时间:2014-01-03 14:43:05

标签: javascript jquery

所以如果你有这个html:

<li id='hi'></li>

让我们说这个jquery:

var obj = {
    hi: {
        role:'something'
    },
    hello: {
       role: 'something'
   }
}


$('li').click(function(e) {
            var nameTrig = e.target.getAttribute('id');
            alert(obj.nameTrig.role);
});

我点击了li =&gt;所以,如果我致电obj.nameTrig.role,它应该是'something'? 我试过这个并在控制台中说:Uncaught TypeError: Cannot read property 'name' of undefined

请帮助谢谢

2 个答案:

答案 0 :(得分:3)

您需要使用括号表示作为member operator来访问属性,其中属性键存储在变量中

alert(obj[nameTrig].role);

此外,您可以使用this.id来访问点击的li元素ID,e.target.id如果您在li中有其他元素并点击它,则会给出错误的结果

$('li').click(function (e) {
    var nameTrig = this.id;
    alert(obj[nameTrig]role);
});

答案 1 :(得分:2)

您需要括号表示法来完成此操作。

alert(obj[ nameTrig ].role);