我希望使用JavaScript根据当前<img src="...">
进行src
的简单切换。因此,如果单击图像#plus_1
,脚本应检查字符串'plus'
是否在src属性中,如果是,则src属性应该更改。
不确定我犯了什么错误,非常感谢帮助!
JavaScript的:
function ek_ak(id) {
var ement = document.getElementById(id);
if (ement.img.src.includes("plus") == true) {
ement.img.src == "minusred.png";}
}
HTML
<img src="plusred.png" id="plus_1" onclick="ek_ak('plus_1')"/>
答案 0 :(得分:1)
一些指示:
ement
已经是一个DOM元素:它没有img
属性,但您可以直接访问src
; String#includes
; =
作为赋值运算符,而不是==
(松散比较)。
function ek_ak (id) {
var ement = document.getElementById(id);
if (/plus/.test(ement.src)) {
ement.src = "minusred.png"
console.log(ement.src)
}
}
<img src="plusred.png" id="plus_1" onclick="ek_ak('plus_1')" />
答案 1 :(得分:1)
onclick="ek_ak(this)
直接将元素发送到函数。这将避免不必要的调用来检索元素。src
,您只需拨打element.src
即可。元素是您的img
.includes(..)
返回一个布尔值。您无需添加== true
。element.src == "minusred.png
。 ==
用于比较不分配的元素。您应该使用=
function ek_ak(element) {
console.log("Current src = " + element.src);
if (element.src.includes("plus")) {
element.src = "minusred.png";
console.log("Next src = " + element.src);
}
}
&#13;
<img src="plusred.png" id="plus_1" onclick="ek_ak(this)" />
&#13;