0

为什么我不能在对象中有变量?我收到如下错误:

"Uncaught SyntaxError: Unexpected token this"

我的代码是这样的。

$("#search_options input:checkbox").on('click', function() {
  var params = { 
    $(this).attr('name') : $(this).val(),
  };
  var str = jQuery.param(params);
});

我确定 $(this) 正在工作,因为我试图在 params 对象之外控制台.log 它然后我正在工作。

4

2 回答 2

3

对象文字不能有变量属性名称。您必须像这样分配属性:

...
var params = {};
params[$(this).attr('name')] = $(this).val();
var str = jQuery.param(params);
于 2012-07-13T11:05:23.767 回答
2

如果要将变量的值用作属性名称,则必须使用以下语法:

var params = {}

params[$(this).attr('name')] = $(this).val();

您尝试使用的文字表示法要求属性名称是有效的 JavaScript 标识符。

于 2012-07-13T11:05:13.783 回答