admin管理员组

文章数量:1415062

I have a body element on which I add a few classes. And I want to remove the no-javascript class from it, after it's being read by the browser.

   <body class="foo boo no-javascript bla">
   <script type="javascript">
      // remove no-javascript class here
   </script>

I have a body element on which I add a few classes. And I want to remove the no-javascript class from it, after it's being read by the browser.

   <body class="foo boo no-javascript bla">
   <script type="javascript">
      // remove no-javascript class here
   </script>
Share Improve this question edited May 14, 2015 at 10:32 Stephan Muller 27.6k17 gold badges86 silver badges127 bronze badges asked Dec 9, 2010 at 10:39 AlexAlex 68.3k184 gold badges459 silver badges650 bronze badges
Add a comment  | 

5 Answers 5

Reset to default 60

Well, since extra spaces between don't matter, I'd say:

document.body.className = document.body.className.replace("no-javascript","");

You can test it out here.

document.querySelector('body').classList.remove('no-javascript');

There are no native javascript functions for this, but I always use the following code (borrowed from/inspired by this snipplr

function removeClass(ele,cls) {
   var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
   ele.className = ele.className.replace(reg,' ');
}

removeClass(document.getElementById("body"), "no-javascript")

The regex does a better job than the replace functions mentioned in other answers, because it checks for the existence of that exact className and nothing more or less. A class named "piano-javascript" would stay intact with this version.


For modern browsers (including IE10 and up) you could also use:

document.querySelector('body').classList.remove('no-javascript');
document.body.className = '';

You can avoid all of that work simply by using

<noscript>Your browser does not support JavaScript!</noscript>

Since whatever you put inside of noscript tag will be shown if Javascript is turned off and nothing will be shown if JS is turned on.

本文标签: htmlJavascriptfastest way to remove a class from ltbodygtStack Overflow