私が持っている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');
最初にセレクターですべての画像を選択し、次にsrc
コールバックを使用してコンテンツをimg
することにより、各attr
のreplace
を置き換えることができます。
$('#something img').attr('src',function(i,e){
return e.replace("-128x79.jpg","-896x277.jpg");
})
次のように画像タグに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");
});
.children()
の前に.find('img')
を追加する必要があります。
$('#something').removeAttr('id').attr('class', 'some-class').children().find('img').attr('src', 'none');
注:ここでマウスオーバーはデモのみを目的としています。
$(function() {
$("something li a img")
.mouseover(function() {
var src = "over.gif";
$(this).attr("src", src); // change the image source
})
});
attr を使用するのはどうですか:
this.removeAttr('id').prop('class', 'featured-images').find('img').attr({‘src’:'file#-896x277.jpg’});
$('#something img').attr('src',$('#something img').attr('src').replace(x,y))