我在这里出错了什么?我正在尝试将字符串转换为整数以便另外使用。
我的图片的portfolio
类和src images/portfolio-images/gbn1.jpg
第一个提醒表示imageInt
的值为1
,但第二个提醒显示newImg
的值为gbn11.jpg
时我正试图获取gbn2.jpg
var mainImg = $('.active-more').closest(".container").find("img.portfolio:first").attr("src");
var nofilename = mainImg.replace("images/portfolio-images/","");
nofilename = nofilename.replace(".jpg","");
var imageString = nofilename.replace(/[A-Za-z$-]/g, "");
var imageInt = parseInt(imageString, 10);
var imageProject = nofilename.replace(/\d+/g, '');
alert(imageInt);
var newImg= imageProject + imageInt + 1 + ".jpg";
alert(newImg);
1}}。
我在下面发布我的代码:
{{1}}
答案 0 :(得分:6)
由于+
的顺序,您正在进行字符串连接 - 添加要修复的大括号:
var newImg= imageProject + (imageInt + 1) + ".jpg";
答案 1 :(得分:3)
试试这个:
var newImg= imageProject + (imageInt + 1) + ".jpg";
+运算符用于添加数字和连接字符串。如果左操作数是一个字符串,那么右边的操作数将被转换为字符串。
在上文中,通过将imageInt + 1
括在括号中,我们确保在连接成字符串之前将其计算为整数。
请参阅小提琴:http://jsfiddle.net/VQG5j
答案 2 :(得分:0)
您尝试单独添加内容并将其连接到图像名称,添加时也使用parseInt
。
尝试下面给出的代码构造:
var mainImg = $('.active-more').closest(".container").find("img.portfolio:first").attr("src");
var nofilename = mainImg.replace("images/portfolio-images/","");
nofilename = nofilename.replace(".jpg","");
var imageString = nofilename.replace(/[A-Za-z$-]/g, "");
var imageInt = parseInt(imageString, 10);
var imageProject = nofilename.replace(/\d+/g, '');
alert(imageInt);
imgIntNew = imageInt + parseInt(1);
alert(imageIntNew);
var newImg= imageProject + imgIntNew + ".jpg";
alert(newImg);