首页 > 解决方案 > 如何在 onclick 属性中创建复选框语句?

问题描述

我一直试图解决这个问题 2 天,但我找不到任何解决方案。

我想要的是,每次我选中复选框时,元素的属性都会改变(即主体的 BGcolor)。但它仅在复选框被选中时有效,但在复选框未选中时不起作用。

var checkboxStatus = document.getElementById("menuCheckBox");
function menuToggle() {
    if (checkboxStatus.checked = true) {
        document.body.style.background = "cyan";
    } else {
        document.body.style.background = "magenta";
    }
}
menuToggle();
<input id="menuCheckBox" type="checkbox" onclick="menuToggle()"/>

标签: javascripthtmlcss

解决方案


您走在正确的轨道上,只是错误地使用了运算符。您使用了一个 = 而不是两个。布尔语句(比较)需要两个等号。https://www.guru99.com/difference-equality-strict-operator-javascript.html

var checkboxStatus = document.getElementById("menuCheckBox");
function menuToggle() {
    if (checkboxStatus.checked == true) {
        document.body.style.background = "cyan";
    } else {
        document.body.style.background = "magenta";
    }
}
menuToggle();
<input id="menuCheckBox" type="checkbox" onclick="menuToggle()"/>
您也可以== true完全省略 the,因为真正的布尔语句本身就是 true,而不是与 true 进行比较。


推荐阅读