3

我怎样才能做到这一点?

objPrefix = btn.attr('data-objprefix'); //<button data-objPrefix="foo">
var sendData =  {objPrefix : {"bar":"ccccc"}};

我希望输出是

{"foo" : {"bar":"ccccc"}};

但相反的是

{"objPrefix" : {"bar":"ccccc"}}
4

1 回答 1

8

当您使用文字表示法objPrefix被认为是键名本身而不是变量的值时,请objPrefix尝试使用括号表示法根据变量值设置对象的属性名称。所以试试这个方法:

var sendData = {};
sendData[objPrefix] = {"bar":"ccccc"};

您也可以事实上使用 jquery data-api 来获取数据属性的值,即

objPrefix  = btn.data('objprefix')
于 2013-11-13T22:49:59.540 回答