1

サブストリング関数を使用して、画像番号を取得したい。文字列から、

以下のプロパティに部分文字列を適用しています。これは、chrome では最後に 3 を返しますが、mozilla では正しく動作しません。

問題: 上記の " -->" この後、クロムの値を書きました。mozilla では、3 番目のステップで 3.jpg ではなく .jpg を取得します。

alert("obj.back is "+obj.style.backgroundImage);-->url(http://localhost/final.21/img/img3.jpg);
    origImg = obj.style.backgroundImage.split(")")[0];
    alert('origImg is'+origImg);  -->>url(http://localhost/final.21/img/img3.jpg
    alert('after length '+origImg.substring(origImg.length-5)); -->3.jpg
    origImg = origImg.substring(origImg.length-5).split(".")[0];
    alert('origImg is'+origImg);  --> 3
4

4 に答える 4

1

"obj.style.backgroundImage"後で、 Property を使用して、Mozillaurl("/final.21/img/img3.jpg"); では chrome で取得している場所を取得していたことを知りましたurl(/final.21/img/img3.jpg);...そのため、部分文字列メソッドを変更しました

于 2013-07-02T11:03:12.100 に答える
0

RegEx を使用して、より読みやすいソリューションを提案します。あなたのソリューションは非常に静的であり、何かが変更されると (つまり、img33.jpg のようなものがある場合)、壊れます。さらに、すでに述べたように、実際に何をしようとしているのかを表現しているため、より読みやすいと言えます。

var url = "http://localhost/final.21/img/img3.jpg)";
origImg = url.match("img([0-9]+).jpg");
alert('origImg is '+origImg[1]);
于 2013-07-02T07:52:53.860 に答える