将变量添加到jquery id名称中的数字

时间:2015-03-30 12:53:30

标签: javascript jquery

loopVar=1;
alert('#imgAvatar'+parseInt(loopVar)+1);

给了我#imgAvatar 11

虽然

alert(parseInt(loopVar)+1);

给了我2

如何获得#imgAvatar 2

4 个答案:

答案 0 :(得分:5)

你的loopVar已经是一个整数(注意你还没有把它放在引号中,所以它是整数)。不需要做parseInt。

使用它:

loopVar=1;
alert('#imgAvatar'+(loopVar+1));

<强> FIDDLE http://jsfiddle.net/15bucsy5/

答案 1 :(得分:3)

这是因为您正在添加字符串#imgAvatar,因此数字也会转换为字符串,并且它实际上读作"#imgAvatar" + "1" + "1"。< / p>

使用括号创建一个块,可以在将数字添加到字符串

之前将其添加
var loopVar = 1;
alert( '#imgAvatar' + ( (+loopVar) + 1 ) );

每当add运算符与字符串一起使用时,所有其他值也将转换为字符串

FIDDLE

答案 2 :(得分:2)

麻烦:

"foo" + 1 + 1 == "foo1"+1 == "foo11";

答案

alert( '#imgAvatar' + ( parseInt(loopVar) + 1) ) );

P.S。 jsfiddle:https://jsfiddle.net/emtLfv9r/

如果不是worknig - 向我们展示你的HTML。

答案 3 :(得分:1)

您需要首先添加括号()以优先评估添加loopVar。如果您的变量包含数值,则不需要应用parseInt函数。

loopVar = "1";
alert('#imgAvatar'+(parseInt(loopVar)+1));

OR

loopVar = 1;
alert('#imgAvatar'+ (loopVar+1) );

<强> Demo