Каков наилучший способ добавить или удалить класс для прогрессивного улучшения?
Я работаю над сайтом, который использует минимальный 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.