2011-09-18 22 views
24

jQueryを使用して、指定されたソースのimgソースを置き換えようとしています。たとえば、イメージsrcがsmith.gifの場合、johnson.gifに置き換えてください。 williams.gifがbrown.gifなどに置き換えられた場合img src属性をjQueryで動的に置き換えます。

EDIT:画像は、クラスから除外されたXMLからランダムな順序で取得されます。これは私が試したものです

:私のHTMLは、多くの画像を持っている

if ($("img").attr('src', 'http://example.com/smith.gif')) { 
       $(this).attr('src', 'http://example.com/johnson.gif'); 
      } 
if ($("img").attr('src', 'http://example.com/williams.gif')) { 
       $(this).attr('src', 'http://example.com/brown.gif'); 
      } 

注意。たとえばだから、

<img src="http://example.com/smith.gif"> 
<img src="http://example.com/williams.gif"> 
<img src="http://example.com/chris.gif"> 

など

のために、私がイメージを置き換えることができる方法:のIMG SRC = "http://example.com/smith.gif" なら、「HTTPを表示://例.com/williams.gif "等...これは、あなたがしたいものです

+2

だからあなたの質問は何ですか? – Jon

+2

あなたのHTMLの例で '' 'sを閉じていません –

+2

あなたはプロパティをチェックするために' $(img) 'を使い、それを設定するには' $(this) 'を使っています。 ? –

答えて

55

たくさん

ありがとう:

var oldSrc = 'http://example.com/smith.gif'; 
var newSrc = 'http://example.com/johnson.gif'; 
$('img[src="' + oldSrc + '"]').attr('src', newSrc); 
+4

ありがとうございますこれは私が探していたものですあなたの質問にお答えするのに10分を与えてください – jQuerybeast

17

をあなたはjQueryのドキュメントでattr方法をチェックアウトする必要があります。あなたはそれを悪用しています。 if文の中でやっていることは、すべての画像タグsrcを2番目のパラメータで指定された文字列に置き換えるだけです。画像ソースのシリーズを置き換えるアプローチする

http://api.jquery.com/attr/

良い方法は各を通じてループになり、それが元だ確認します。

例:

$('img').each(function() { 
    var curSrc = $(this).attr('src'); 
    if (curSrc === 'http://example.com/smith.gif') { 
     $(this).attr('src', 'http://example.com/johnson.gif'); 
    } 
    if (curSrc === 'http://example.com/williams.gif') { 
     $(this).attr('src', 'http://example.com/brown.gif'); 
    } 
}); 
+0

私はNikoの例を使用しますvar OldSrcとnewSrcを使用しない場合のコードが少なくなりました。 – jQuerybeast

関連する問題