为什么我不能在对象中有变量?我得到一个错误:
"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对象之外调试它。然后我正在工作。
答案 0 :(得分:3)
对象文字不能包含可变属性名称。您必须像这样分配属性:
...
var params = {};
params[$(this).attr('name')] = $(this).val();
var str = jQuery.param(params);
答案 1 :(得分:2)
如果要将变量的值用作属性名称,则必须使用以下语法:
var params = {}
params[$(this).attr('name')] = $(this).val();
您尝试使用的文字符号要求属性名称是有效的JavaScript标识符。