javascript - 如何在 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()"/>
解决方案
您走在正确的轨道上,只是错误地使用了运算符。您使用了一个 = 而不是两个。布尔语句(比较)需要两个等号。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 进行比较。
推荐阅读
- c# - 如何同时移动每个游戏对象?
- javascript - 每当我单击闪电组件销售人员中的提交按钮时,我都会收到提示刷新页面的错误
- machine-learning - 机器学习+神经层=深度学习?
- django - 如果用户已登录,如何停用注册?
- python - Python 3 scrapy 调试:已爬网 (302)
(参考:https...) - python - numpy.median.reduceat 的快速替代方案
- reactjs - 使用 React 处理大量受控输入
- data-structures - 实现链表时发生可变借用错误,其中在 Rust 中将新元素添加到末尾
- c++ - linux mint进程上的代码块以状态-1终止
- java - 将 Map 分配给 ImmutableMap 后,如何停止或限制重新分配另一个地图