如何使用vanillaJS切换标签上的CSS类 - 没有JQuery

时间:2017-12-21 22:42:10

标签: javascript html css

是否可以将CSS类应用于HTML文档的<body>标记?

到目前为止,我一直在尝试这样的事情:

document.getElementsByClassName("body").add("cssClass");

希望在整个DOM上应用过滤器,以便在特定时间使页面变暗,但保留DOM本身的所有功能。

6 个答案:

答案 0 :(得分:6)

或者,更短:document.body.className = 'classname';

正如Gaby建议的那样,为了避免替换已经应用的类:

document.body.classList.add('classname')

答案 1 :(得分:1)

document.getElementsByTagName("body")[0].className = 'yo';
.yo {
  background-color: #f90;
}

答案 2 :(得分:1)

document.getElementsByTagName('body')[0].classList.add('your-class')

getElementsByTagName()返回一个节点列表,因此您需要访问第一个(也是唯一的)元素。

答案 3 :(得分:1)

您需要访问正文的类列表 - 并且TagName还会返回节点列表

document.getElementsByTagName('body')[0].classList.add('cssClass')

答案 4 :(得分:1)

几乎,您需要使用document.getElementsByTagName()并使用如下:

document.getElementsByTagName('body')[0].classList.add('yourClass');

答案 5 :(得分:1)

以下是如何使用ES6执行此操作的示例:

document.querySelector('body');

此codepen示例显示了如何切换类:

https://codepen.io/kylecasestack/pen/zpKZOq