我正在尝试使用jQuery替换给定源的img源代码。例如,当图像src是smith.gif时,请替换为johnson.gif。如果williams.gif替换为brown.gif等。
编辑:图像从XML检索到随机顺序,每个图像都没有分类。
这就是我的尝试:
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');
}
请注意,我的HTML有很多图片。例如
<img src="http://example.com/smith.gif">
<img src="http://example.com/williams.gif">
<img src="http://example.com/chris.gif">
等。
那么,我该如何替换图像: IF img src =“http://example.com/smith.gif”然后显示“http://example.com/williams.gif".等...
非常感谢
答案 0 :(得分:67)
这就是你想做的事情:
var oldSrc = 'http://example.com/smith.gif';
var newSrc = 'http://example.com/johnson.gif';
$('img[src="' + oldSrc + '"]').attr('src', newSrc);
答案 1 :(得分:19)
您需要查看jQuery文档中的attr
方法。你在滥用它。您在if语句中执行的操作只是将所有图像标记src
替换为第二个参数中指定的字符串。
更换一系列图像源的更好方法是遍历每个图像源并检查它的来源。
示例:强>
$('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');
}
});
答案 2 :(得分:0)
在我的情况下,我使用以下命令替换了src taq:
$('#gmap_canvas').attr('src', newSrc);