所以我想将一些变量(数据集)设置为body标签,但是当我将它们组合到一个对象中时,var名称不起作用。
//代码
var1 = 'data-var1'
var2 = 'data-var2'
var3 = 'data-var3'
$('body').attr({
var1 : 1,
var2 : 2,
var3 : 3
});
//
之后的结果<body var1="1" var2="2" var3="3">
答案 0 :(得分:1)
正如您自己的问题中的一些注释所指出的,对象属性声明的左侧部分是整个属性的名称,不能是变量。
如果要实现该结果,则需要将代码重构为:
var var1 = "data-var1";
...
var attributes = {};
attributes[var1] = 1; // <-- You can use variables to add properties
// after object literal declaration!
...
$(body).attr(attributes);
答案 1 :(得分:0)
您不能使用对象文字,因为属性名称是按字面处理的。使用双参数形式:
$('body').attr(var1, 1).attr(var2, 2).attr(var3, 3);