Каков наилучший способ добавить или удалить класс для прогрессивного улучшения?

Я работаю над сайтом, который использует минимальный JS, в основном для переключения меню на мобильных устройствах, такого рода вещи.

Я хотел бы, чтобы сайт все еще был доступен, если js отключен. Я придумала 2 решения, которые работают, но я хотела бы знать, лучше ли одно, чем другое, или есть что-то совершенно другое, что я должен делать.

Что лучше?

Пример А

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

или же

Пример Б

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

1 ответ

Решение

Пример A является недействительным HTML.

HTML должен быть организован в строгой иерархии.

Элемент (например, ваш <div>) не может начинаться как дочерний элемент (например, ваш <noscript>) также без соответствующего конечного тега внутри того же <noscript>).

При исключении варианта A остается только вариант B.

Другие вопросы по тегам