loopVar=1;
alert('#imgAvatar'+parseInt(loopVar)+1);
给了我#imgAvatar 11
虽然
alert(parseInt(loopVar)+1);
给了我2
如何获得#imgAvatar 2 ?
答案 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运算符与字符串一起使用时,所有其他值也将转换为字符串
答案 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 强>