我正在尝试设置一个变量属性名称,即<a data-33="string">
,其中33是Math.random()生成的随机数。
我努力了:
var randomNum1 = Math.floor(Math.random() * (200 - 100 + 1)) + 100;
var attrb = 'data-' + randomNum1.toString();
$(this).attr({
attrb : 'someString',
attrb2 : 'someString'
});
但是,它没有添加data-randomNumber =“ someString”的属性,而是添加了attrb =“ someString”
我正在尝试传递多个属性。我知道我缺少基本的javascript概念,但是任何帮助将不胜感激!
最佳答案
在执行操作时,{attrb: "something", attr2: "something"}
,键attrb
和attr2
不会被评估并照原样使用。因此,您不能在那使用变量。
要解决您的问题,您可以做的是,使用两个参数调用attr()
方法-1:属性,2:值:
var el = $(this);
el.attr(attrb, 'someString');
el.attr(attrb2, 'someString');
在这种情况下,将评估
attr()
的第一个参数,并将变量替换为值。