2010-12-13 4 views
2

jQueryを使用してクリック時に画像のsrc属性を変更したいと思います。ここではHTMLだ:画像ソース内のjQueryワイルドカード文字

<a href="#" class="view2">View 2</a> 
<img src="images/shoe1a.jpg" class="sb-player" /> 

とのIMG SRCで、私は「」「B」にを交換したいが、私の問題は、私はそれの前にあります「1」を無視するということですそれは同様に次のようになりますので、:

<img src="images/shoe2a.jpg" class="sb-player" /> 

を私はこれまで私のjQueryを使ってこれを得た、と私はワイルドカード文字必要な場所アスタリスクは次のとおりです。

$(function() { 
    $('.view2').click(function() { 
     $('.sb-player').attr('src', 'images/shoe'+*+'b.jpg'); 
     return false; 
    }); 
}); 

可能性があり、特定の文字がありますが任意の番号のワイルドカード?

答えて

3

ちょうど.replace()srcの文字列の末尾に、a.jpgb.jpgに置き換えます。

関数to .attr()を渡すことができます。

パラメータiは、セット内の現在の反復を表し、valは現在の値です。戻り値は新しい値を表します。 JavaScriptでRegular Expressionsを使用している文字列の一部を一致させる

$(function() { 
    $('.view2').click(function() { 
     $('.sb-player').attr('src', function(i,val) { 
      return val.replace('a.jpg','b.jpg'); 
     }); 
     return false; 
    }); 
}); 
+0

ビューティフル:

たぶん、この方法では、あなたの問題を解決することができます。どうもありがとうございます! –

1

最も強力な方法。


$(function() { 
    $('.view2').click(function() { 
     var originalSrc = $('.sb-player').attr('src'); 
     $('.sb-player').attr('src', originalSrc.replace(/a\./,"b.")); 
     return false; 
    }); 
}); 
関連する問題