Jquery 变量在对象中不起作用
所以我想给body标记设置几个变量(数据集),但是当我将它们组合到一个对象中时,变量名就不起作用了 //代码Jquery 变量在对象中不起作用,jquery,Jquery,所以我想给body标记设置几个变量(数据集),但是当我将它们组合到一个对象中时,变量名就不起作用了 //代码 var1 = 'data-var1' var2 = 'data-var2' var3 = 'data-var3' $('body').attr({ var1 : 1, var2 : 2, var3 : 3 }); //结果之后 <body var1="1" var2="2" var3="3"> 不能为此使用对象文字,因为属性名称是
var1 = 'data-var1'
var2 = 'data-var2'
var3 = 'data-var3'
$('body').attr({
var1 : 1,
var2 : 2,
var3 : 3
});
//结果之后
<body var1="1" var2="2" var3="3">
不能为此使用对象文字,因为属性名称是按字面意义处理的。使用两个参数形式:
$('body').attr(var1, 1).attr(var2, 2).attr(var3, 3);
正如您自己的问题中的一些评论所指出的,对象属性声明的左侧部分是整个属性的名称,不能是变量 如果您希望实现该结果,则需要重构代码以:
var var1 = "data-var1";
...
var attributes = {};
attributes[var1] = 1; // <-- You can use variables to add properties
// after object literal declaration!
...
$(body).attr(attributes);
var-var1=“data-var1”;
...
var属性={};
属性[var1]=1;//对象文字中的属性名称是文字,而不是变量。使用JavaScript的对象表示法,{foo:'bar'}
和{'foo':'bar'}
是完全相同的对象。请尝试{“data-var1”:1,…}
。还可以查看jQuery的.data()
来处理数据属性。