3

私はここで何が間違っているのですか?文字列を整数に変換して、さらに使用しようとしています。

portfolioのクラスとのsrcを持つ画像がありますimages/portfolio-images/gbn1.jpg

最初のアラートはの値がでimageIntあると言います1が、2番目のアラートはの値が取得しようとしているときですとnewImg言います。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 に答える