Javascript 检查图像源是否包含值

Javascript 检查图像源是否包含值,javascript,jquery,Javascript,Jquery,我有一个图像,点击后会发生变化,并在点击后保持2秒钟 此IMGsrc通过jQuery更改,并在setTimeout后返回源代码。问题是,如果用户在这2秒内再次单击,则源将更改为无效位置 我试图通过检查图像的当前src是否包含值\u hover.png来防止这种情况发生: if ('ThisIMG img[src*="_hover.png"]') { console.log("yes it does"); } 我在这个if语句中尝试了多种方法,但似乎找不到正确的参数 以下是我尝试过的一些

我有一个图像,点击后会发生变化,并在点击后保持2秒钟

IMG
src
通过jQuery更改,并在
setTimeout
后返回源代码。问题是,如果用户在这2秒内再次单击,则源将更改为无效位置

我试图通过检查图像的当前
src
是否包含值
\u hover.png
来防止这种情况发生:

if ('ThisIMG img[src*="_hover.png"]') {
    console.log("yes it does");
}
我在这个if语句中尝试了多种方法,但似乎找不到正确的参数

以下是我尝试过的一些不同的事情:

$('.myImage').on({'click': function(){
        var ThisIMG = $(this);

        //if (ThisIMG.src == '_hover') {
        if ('ThisIMG img[src*="_hover.png"]') {
            console.log("yes it does");
        }
        //if (ThisIMG.attr("src").contains "_hover.png") {
        //  console.log('yes it does');
        //};

        // Method to change image source on click:
        var src = $(ThisIMG).attr("src").replace('.png', '_hover.png');
        $(ThisIMG).attr("src", src);
        console.log(src);

        setTimeout(function () {
            console.log("in timeout");
            var src = $(ThisIMG).attr("src").replace("_hover.png", ".png");
            $(ThisIMG).attr("src", src);

        },1000);
    }
});
HTML:


您可以获取src,并使用
indexOf()检查子字符串。


我不确定这是否是您想要的,但我已经对其进行了更改,这样,除非src等于.png,否则单击按钮时发生的事情将不会发生

if($('.myImage').attr('src') == '.png')

那是一个不必要的{单击旁边吗?应该是吗?.on('click',function(){@Dan good eye,替换为
$('.tileImage')。on('click',function(){
并移除了右大括号。
if (ThisIMG.attr('src').indexOf('_hover.png') > -1) {
if($('.myImage').attr('src') == '.png')