javascript - jQuery 单击添加到图像的 src

标签 javascript jquery

例如,我有两个图像,名为:-

<img alt="img-estate" src="images/estate.png" />

<img alt="img-saloon" src="images/saloon.png" />

单击这些图像中的任何一个时,我希望能够更改 src 以在单击时添加 -active

因此,如果我单击#img-estate,图像 src 应该为 images/estate-active.png。所以基本上它会读取原始的 src 位置并在点击时添加 -active

我该如何使用 jQuery 来做到这一点?

最佳答案

点击后,以下内容将有效地切换 -active 字符串:

$('img').click(function(){
    var src = this.src;
    this.src = src.indexOf('-active') == -1 ? src.replace('.png','-active.png') : src.replace('-active.png','.png');
});

如果您只想添加该字符串:

$('img').click(function(){
    var src = this.src;
    this.src = src.replace('.png','-active.png');
});

要将其仅应用于问题中列出的元素,您可以将选择器修改为:

$('img[alt^="img-"]')

仅选择 alt 属性以字符串 img- 开头的图像。

顺便说一句,如果您更喜欢使用 jQuery attr() 方法,则不必两次调用相同的方法,只需使用匿名函数即可:

$('img[alt^="img-"]').attr('src', function(index, currentSrc){
    return currentSrc.replace('.png', '-active.png');
});

引用文献:

关于javascript - jQuery 单击添加到图像的 src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15973208/

相关文章:

javascript - 每当调整浏览器窗口屏幕尺寸时,让我的函数重新执行

javascript - 如何在javascript中为金额添加后缀

javascript - 如何通过 jquery/JavaScript 使用 Google XML 建议

javascript - 将此 javascript 函数转换为 jquery

javascript - 按 T​​AB 键自动归档下一个字段

javascript - 在 MVC View 中使用 JavaScript 将 UTC 时间转换为客户端浏览器的时区

javascript - Knockout.JS : self. myObservable 不是函数,代码顺序有问题

javascript - 根据其他元素状态/类有条件地将类添加到元素

jquery - 如何确定 jQuery.ScrollTo 何时完成平滑滚动

javascript - 使用 YUI 3.3 获取节点 ID