2012-01-22 44 views
0

当我警告btnName时,它不是获取attr名称,而是使用文本btnName。将JavaScript插入变量到括号中

var btnName = orderBtn.attr("name"); 
var obj = {btnName:true,json:1}; 

我相信这是可能的,我只是可以;弄清楚。

+0

你的意思是'obj'是使用“btnName”(字面上)作为属性的名称? –

+0

是的,当我在Firebug中查看它是一样的 –

回答

2
var btnName = orderBtn.attr ("name"); 
var obj = { json: 1 }; 
obj [btnName] = true; 
+0

这解决了它的谢谢。 –

3

你需要把它写这样的:

var obj = {json: 1} 
obj[orderBtn.attr('name')] = true 

有没有办法,包括为使用的文字符号构造一个对象时,一个关键的表达式(如变量)。

var obj = {foo: 'bar'} 

本质上是

var obj = {'foo': 'bar'} 

如果你想引用变量foo速记,你需要方括号:

var obj = {} 
obj[foo] = 'bar' 
0

使用括号,如果你想使用一个变量作为关键:

var obj = { json: 1 }; 
obj[btnName] = true;