2012-01-22 11 views
0

私はbtnNameに警告するときにattr名を取得せず、代わりにbtnNameというテキストを使用します。JavaScript inset変数を角かっこに変換する

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 = {} 
obj[foo] = 'bar' 
0

使用ブラケット:

var obj = {foo: 'bar'} 

は、変数fooを参照したい場合は、角括弧表記を必要とする本質的

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

の省略形ですキーとして:

var obj = { json: 1 }; 
obj[btnName] = true; 
関連する問題