如果选中了input,则将class应用于,而不使用jQuery

时间:2015-03-02 15:32:20

标签: javascript html class input

我有一个非常新手的问题。我有这个&#39;汉堡&#39;菜单:http://alexe.ro/beta/(右上角),如果已经过检查,我想在<body>添加一个课程,如果可能的话。

问题在于我只想使用javaScript,而不是jQuery。 如果我知道如何做这件事,那将有助于我(严格限制的)javaScript知识。

这是代码:

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

提前谢谢。

2 个答案:

答案 0 :(得分:1)

检测复选框中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">

答案 1 :(得分:0)

使用setAttribute。

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