Задать вопрос
@Speakermen

Как добавить в js стили классам как в css?

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div class="block">text</div>
    <div class="block">text</div>
    <div class="inline-block">text</div>
    <div class="inline-block">text</div>
    <script src="./less1.js"></script>
  </body>
</html>


.block {display: block;}
.inline-block {display: inline-block;}


Можно как-то проще добавить стили к классам?
((el) => {
  el.forEach((el) => {
    const select = document.getElementsByClassName(el);

    if (select.length !== 0) {
      document
        .querySelectorAll("." + el)
        .forEach((element) => (element.style.display = el));
    }
  });
})([
  "block",
  "inline-block",
  "inline",
  "flex",
  "inline-flex",
  "table",
  "inline-table",
  "table-caption",
]);
  • Вопрос задан
  • 563 просмотра
Подписаться 1 Простой 8 комментариев
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
Переписать то же, короче, можно примерно так:
(names =>
  names.forEach(name => {
    document.getElementsByClassName(name).forEach(({ style }) => {
      style.display = name;
    });
  }))(['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption']);


Или можно «просто взять, и ..» добавить в head документа сгенерированный CSS:
Ответ написан
@alexalexes
Можно не пробегать по DOM дереву, подставляя inline стили элементам. А модифицировать сами CSS правила в итоговом style всей страницы. См. Adding and Removing Rules.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
noder_ss
@noder_ss
Линуксоид-энтузиаст и SQL разработчик
У меня два способа. Либо добавлять класс DOM элементу с помощью название_элемента.classList.add/remove/toggle
Либо напрямую писать название_элемента.style.color = "green"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 19:47
3000 руб./за проект
22 дек. 2024, в 19:03
60000 руб./за проект
22 дек. 2024, в 17:54
10000 руб./за проект