javascript - Simpel 图像切换功能不起作用(没有 jQuery)

标签 javascript html css

我一直在尝试让这个简单的图像切换点击功能起作用,但我不确定哪里出了问题。我必须使用 querySelector 和 addEventListener,也不允许使用 jquery。谁能帮我解决这个问题?

document.querySelector(".imageClass").addEventListener("click", function () {
    var img = this.src;
    if(img.src == "/image/location1.png") {
        img.src = "/image/location2.png";
    } else {
        img.src = "/image/location2.png";
    }
});

我收到这个错误:

document.querySelector(...).addEventlistener is not a function(...)

最佳答案

获取一个属性很可能会返回一个绝对 URL,而您确实要确保检查的是属性,而不是属性。

此外,您要访问 src 两次,首先是通过执行 var img = this.src 然后通过执行 img.src

你的条件在这两种情况下做同样的事情

document.querySelector(".imageClass").addEventListener("click", function () {
    var img = this;
    var src = img.getAttribute('src');

    if( src == "/image/location1.png" ) {
        img.src = "/image/location2.png";
    } else {
        img.src = "/image/location1.png";
    }
});

关于javascript - Simpel 图像切换功能不起作用(没有 jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40384131/

相关文章:

javascript - 使用 JavaScript 和/或 TinySort 按子元素的标准对父元素进行排序

html - 如何使用 CSS 构建子菜单?

html - 如何删除 HTML 中 span 标签之间的分界线

html - 如何使用 CSS 设置复选框样式

html - 仅使用 css 将表格从一个位置移动到另一个位置

javascript - 如何让我的 jquery 代码变得简单?

javascript - codeigniter,如何将图像保存在特定目录中

javascript - 使用 jQuery 实现脉冲效果

javascript - 计算出来的值会不会有不一致的情况?

javascript - DIV 标签未根据屏幕尺寸显示