我有以下JSON对象:
var definitionsObject = {"company" : "Some information about company"};
这个对象实际上包含很多定义,而不仅仅是一个定义。我还有一个链接点击的以下事件处理程序,它具有包含术语“公司”的自定义“数据名称”属性:
$(".definitinOpener").click(function() {
$this = $(this);
var hintID = $this.attr("data-name");
var hintText = definitionsObject.hintID;
});
所以,我要做的是获取被点击链接的“data-name”自定义属性的值,转到definitionsObject
对象并获取等于“data-name”属性值。但是通过这种方式,我总是得到“未定义”。
有人可以帮我弄清楚我到底做错了什么吗?
事先谢谢你。
答案 0 :(得分:3)
您可以通过两种方式在对象中查找值。
var obj = { key : 'value' }
var lookup = 'key'
console.log( obj.lookup ) //undefined
console.log( obj.key ) //value
console.log( obj[lookup] ) //value
你可能想要这个:
var hintText = definitionsObject[hintID];
答案 1 :(得分:0)
definitionsObject.hintID
未返回definitionsObject[hintId]
,它将返回definitionsObject['hintId']
。
我相信你可以用
完成这个任务var hintText = definitionsObject[hintId];
而不是
var hintText = definitionsObject.hintID;