Ale*_*lex 19 html javascript css
我有一个body元素,我在其上添加了几个类.我希望no-javascript在浏览器读取之后从中删除该类.
<body class="foo boo no-javascript bla">
<script type="javascript">
// remove no-javascript class here
</script>
Run Code Online (Sandbox Code Playgroud)
Nic*_*ver 54
好吧,既然多余的空间无关紧要,我会说:
document.body.className = document.body.className.replace("no-javascript","");
Run Code Online (Sandbox Code Playgroud)
小智 20
document.querySelector('body').classList.remove('no-javascript');
Run Code Online (Sandbox Code Playgroud)
Ste*_*ler 17
这没有本机javascript函数,但我总是使用以下代码(借用/启发此snipplr
function removeClass(ele,cls) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className = ele.className.replace(reg,' ');
}
removeClass(document.getElementById("body"), "no-javascript")
Run Code Online (Sandbox Code Playgroud)
正则表达式比replace其他答案中提到的函数做得更好,因为它检查是否存在精确的className,而不是更多或更少.这个版本名为"piano-javascript"的类将保持不变.
对于现代浏览器(包括IE10及更高版本),您还可以使用:
document.querySelector('body').classList.remove('no-javascript');
Run Code Online (Sandbox Code Playgroud)
document.body.className = '';
Run Code Online (Sandbox Code Playgroud)