3

我在这里出了什么问题?我正在尝试将字符串转换为整数以供另外使用。

我有一个类的图像portfolio和一个 srcimages/portfolio-images/gbn1.jpg

第一个警报说 is 的值imageInt1但第二个警报说当我尝试获取时的值newImgis 。gbn11.jpggbn2.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);
4

3 回答 3

6

由于+- 添加大括号以修复的顺序,您正在执行字符串连接:

 var newImg= imageProject + (imageInt + 1) + ".jpg";
于 2012-12-20T05:34:22.980 回答
3

尝试这个 :

var newImg= imageProject + (imageInt + 1) + ".jpg";

+ 运算符用于添加数字和连接字符串。如果左边的操作数是一个字符串,那么右边的操作数被转换为一个字符串。

在上面,通过将imageInt + 1括号括起来,我们确保在连接为字符串之前将其评估为整数。

见小提琴:http: //jsfiddle.net/VQG5j

于 2012-12-20T05:35:14.977 回答
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);
于 2012-12-20T05:34:01.823 回答