添加或删除 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。
我在一个使用最少 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。