为什么OnClick不改变颜色

Why is OnClick not changing the colour back?

本文关键字:变颜色 改变 OnClick 为什么      更新时间:2023-09-26

我正在测试一些东西,我试图让它当我点击这个红色按钮时,它会变成绿色,当我再次点击它时,它又会变成红色。有人能帮我一下吗?我对这个非常非常陌生

<img id= "redBox1"  src="red.png" 
onClick="
if (redBox1 === true)
{redBox1 == false;
    src='green.png';}
else (redBox1 === false)
{redBox1 == true);
    src='red.png';}" />

除了将其更改为红色之外,我还试图使它使每当按钮变为绿色时,redBox1 = false。

提前感谢您的帮助

redBox1是一个DOM元素(通过ie4中引入的可怕的"给定一个元素ID,创建一个全局JS变量"机制),而不是一个布尔值。与truefalse比较是没有意义的。

您应该检查src属性。

<img id="redBox1" src="red.png">
<script>
document.getElementById('redBox1').addEventListener('click', toggleImage);
function toggleImage(evt) {
    if (evt.target.src === "red.png") {
       evt.target.src = "green.png";
    } else {
       evt.target.src = "red.png";
    }
}
</script>