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オブジェクトの外部でconsole.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 に答える