所以如果你有这个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
请帮助谢谢
答案 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);