如果检查了输入,则将类应用于<身体>,没有jQuery

If input is checked, apply class to <body>, without jQuery

本文关键字:lt 身体 gt jQuery 没有 检查 输入 如果 应用于      更新时间:2023-09-26

我有一个非常新手的问题。我有这个汉堡菜单:http://alexe.ro/beta/(右上角),如果选中,如果可能的话,我想向<body>添加一个类。

问题是我只想使用javaScript,而不想使用jQuery。如果我知道如何做到这一点,这将有助于我(严重受限)的javaScript知识。

这是代码:

<input type="checkbox" class="menuToggle" id="menu-toggle-right" data-toggle="right">

提前谢谢。

检测它是否已在复选框上的onchange事件处理程序中选中。

在该复选框中,您可以检查checked属性以查看它是否已被选中,然后使用classList添加或删除所需的类。

document.getElementById('menu-toggle-right').onchange = function() {
    var method = this.checked ? 'add' : 'remove';
    document.body.classList[method]('my-class');
}
body.my-class { background-color:#f44; }
<input type="checkbox" class="menuToggle" id="menu-toggle-right" data-toggle="right">

使用setAttribute。

function myfunction() {
  var a = document.getElementsByTagName('body'); 
  a[0].setAttribute("class", "red");
}
.red {
background:red;}
<input type="checkbox" id="ctrl" onChange="myfunction();">