如何<html>
使用 Javascript 将类添加到根元素?
问问题
124307 次
7 回答
140
像这样:
var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag)
root.setAttribute( 'class', 'myCssClass' );
或者使用它作为你的'setter'行来保留任何以前应用的类:(感谢@ama2)
root.className += ' myCssClass';
或者,根据所需的浏览器支持,您可以使用以下classList.add()
方法:
root.classList.add('myCssClass');
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList http://caniuse.com/#feat=classlist
更新:
引用元素的更优雅的解决方案HTML
可能是:
var root = document.documentElement;
root.className += ' myCssClass';
// ... or:
// root.classList.add('myCssClass');
//
于 2012-12-20T21:45:09.997 回答
17
这也应该有效:
document.documentElement.className = 'myClass';
兼容性。
编辑:
IE 10 认为它是只读的;然而:
歌剧作品:
我还可以确认它适用于:
- 铬 26
- 火狐 19.02
- Safari 5.1.7
于 2012-12-20T21:47:38.287 回答
15
document.documentElement.classList.add('myCssClass');
classList
从 ie10 开始支持:https ://caniuse.com/#search=classlist
于 2017-10-27T17:18:01.273 回答
10
于 2012-12-20T21:45:09.093 回答
7
您应该附加类而不是覆盖它
var headCSS = document.getElementsByTagName("html")[0].getAttribute("class") || "";
document.getElementsByTagName("html")[0].setAttribute("class",headCSS +"foo");
我仍然建议使用 jQuery 来避免浏览器不兼容
于 2012-12-20T21:46:52.347 回答
1
document.getElementsByTagName("html")[0].classList.add('theme-dark');
document.getElementsByTagName("html")[0].classList.remove('theme-dark')
document.getElementsByTagName("html")[0].classList.toggle('theme-dark')
于 2021-01-18T22:06:49.727 回答
-3
使用 Jquery ...您可以将类添加到 html 元素,如下所示:
$(".divclass").find("p,h1,h2,h3,figure,span,a").addClass('nameclassorid');
nameclassorid没有点或#开头
于 2017-03-27T22:43:10.090 回答