web-dev-qa-db-ja.com

jqueryでimgsrcを変更する

私が持っているhtml構造は次のようなものです:

<ul id="something">
  <li>
    <a href="">
      <img src="http://domain.com/directory/file1-128x79.jpg">
    </a>
  </li>
  <li>
    <a href="">
      <img src="http://domain.com/directory/file2-128x79.jpg">
    </a>
  </li>
  <li>
    <a href="">
      <img src="http://domain.com/directory/file3-128x79.jpg">
    </a>
  </li>
</ul>

ファイル名をfile#-128x79.jpgからfile#-896x277.jpgに変更しようとしています。

動的に生成されたファイル名を取得して、srcの変更を検索および置換する方法がわかりません。

Src全体を「none」に置き換えて、これまでのところ正しく行われていることを確認する方法を見つけましたが、残りの方法がわかりません。

$('#something').removeAttr('id').prop('class', 'some-class').find('img').prop('src', 'none');
14
gavsiu

最初にセレクターですべての画像を選択し、次にsrcコールバックを使用してコンテンツをimgすることにより、各attrreplaceを置き換えることができます。

$('#something img').attr('src',function(i,e){
    return e.replace("-128x79.jpg","-896x277.jpg");
})
17
Niklas

次のように画像タグにIDを割り当てることができます

<img id ="pic" src="http://domain.com/directory/file3-128x79.jpg">

次にjqueryで使用します

$('#pic').attr('src', 'file#-896x277.jpg');

[〜#〜]デモ[〜#〜]

$('img').hover(function(){ // or any other method
    this.src = this.src.replace("128x79", "200x60");         
}); 
3
Roko C. Buljan

.children()の前に.find('img')を追加する必要があります。

$('#something').removeAttr('id').attr('class', 'some-class').children().find('img').attr('src', 'none');
1
Alex Pliutau

注:ここでマウスオーバーはデモのみを目的としています。

$(function() {
    $("something li a img")
        .mouseover(function() { 
            var src = "over.gif";
            $(this).attr("src", src); // change the image source
        })

});
1
Pranay Rana

attr を使用するのはどうですか:

this.removeAttr('id').prop('class', 'featured-images').find('img').attr({‘src’:'file#-896x277.jpg’});
0
Kamyar
$('#something img').attr('src',$('#something img').attr('src').replace(x,y))
0
hungryMind