2012-01-22 96 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;