Наименее трудоемкий способ оформления элемента с помощью Javascript

#javascript #css

#javascript #css

Вопрос:

Просто любопытно, знает ли кто-нибудь, что добавление класса к элементу через .classList.add() быстрее / менее ресурсоемко, чем просто стилизация элемента непосредственно в javascript с использованием .style ?

Будет ли это даже? Или один быстрее другого?

Я полагаю, что .style это было бы лучше, поскольку скрипту не нужно взаимодействовать с файлом CSS. Но, возможно, это только быстрее, если вы стилизуете один стиль. Плюс удаление стиля, если его для нескольких вещей, будет больше кода скрипта.

tl; dr Что лучше использовать?

 element.classList.add("displayclass");
 
 .displayclass{
   display: none;
}
 

Против.

 element.style.display = "none";
 

Комментарии:

1. Я не уверен, что быстрее. Но как дизайнер / разработчик я предпочитаю сценарии, которые используют классы для добавления стиля, потому что с ними легче работать и перезаписывать. Встроенные стили более раздражают при отладке.

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

3. В этом примере я бы использовал element.style.display = «none», потому что объявлено только одно свойство, и это более быстрый способ, чем объявление целого класса (3 строки кода против 1 строки кода). Если в вашем классе было объявлено больше свойств, кроме свойства отображения, тогда имело бы смысл использовать element.classList.add(«displayclass»).

Ответ №1:

Я также считаю, что использование классов и стилей в ваших файлах css / sass / etc — это лучший подход, чем ручное использование style атрибута для элемента. Я всегда чувствую style , что атрибут / должен использоваться / рассматриваться как «переопределение вручную»