Javascript 如果选中复选框,则显示两个布尔值

Javascript 如果选中复选框,则显示两个布尔值,javascript,checkbox,Javascript,Checkbox,我正在尝试确定是否选中该复选框,但当我按下该复选框时,javascript显示: false true 当我再次推它时,它变为 true false 然后它继续,我进一步推动 如何仅显示其中一个 以下是我的javascript代码: function selected() { const bg = document.getElementById("myCheck").checked; console.log(bg); if (bg == 'true') { docum

我正在尝试确定是否选中该复选框,但当我按下该复选框时,javascript显示:

false
true
当我再次推它时,它变为

true
false
然后它继续,我进一步推动

如何仅显示其中一个

以下是我的javascript代码:

function selected() {
  const bg = document.getElementById("myCheck").checked;

  console.log(bg);

  if (bg == 'true') {
    document.getElementById("changeBG").style.backgroundColor = 'red';
  } else {
    document.getElementById("changeBG").style.backgroundColor = 'green';
  }
}
这是不正确的:

if (bg == 'true') {
checked属性提供的是布尔值,而不是字符串。true是一个字符串

只需使用:

if (bg) {

你的密码在哪里?还有,已经有很多例子了,那么,你是不是先搜索答案了?看起来你想让我们为你写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是包括您迄今为止编写的代码、示例输入(如果有)、预期输出以及您实际获得的控制台输出、回溯等。。你提供的细节越多,你可能得到的答案就越多。检查并欢迎使用堆栈溢出!我们无法帮助您使用无法看到的代码。向我们展示您所指的代码。另外,请带上,四处看看,并通读,特别要注意,在发布之前进行彻底的研究是SO的一项要求。我无法立即想象有什么问题是关于如何查看复选框是否被选中的,这些问题无法通过一点研究很快得到回答。对不起,伙计们,我在帖子上太快了。代码已添加。或者,删除true周围的引号。@Zammy:No,true=='true'为false,但基本上:它们最终都被转换为数字,结果是1==NaN,这是错误的。@ScottMarcus:是的,但bg已经是布尔值了。那你在哪停?bg==true,或bg==true==true,或bg==true==true==true…:-因此,如果bg和反之亦然,如果!bg@TJ我知道。但是,你没有在你的答案中给出解释,所以我只是指出去掉引号会使它成为一个布尔值。