添加或删除 class 以进行渐进增强的最佳方法是什么?

What is the best way to add or remove a class for progressive enhancement?

我在一个使用最少 JS 的网站上工作,主要用于在移动设备上切换菜单之类的东西。

我希望网站在禁用 js 的情况下仍然可以导航。我想出了 2 个可行的解决方案,但我想知道一个是否比另一个更好,或者我是否应该做一些完全不同的事情。

哪个更好?

示例 A

<body>
 <noscript>
  <div class="no-js">
 </noscript>
 ... stuff here ...
 <noscript>
    </div>
</noscript>

示例 B

<body id="body" class="body no-js">
 ... stuff here ...
<script>document.getElementById("body").classList.remove("no-js");</script>
</body>

示例 A 无效 HTML。

HTML必须严格按照等级排列。

一个元素(例如您的 <div>)不能作为一个元素(例如您的 <noscript>)的子元素开始,而在相同的 <noscript> 中也没有匹配的结束标记)。

去掉选项A,只剩下选项B。