Что лучше: проверять наличие класса у набора элементов и удалять класс, если есть или сразу удалять?

В один момент на странице по клику происходит очень много замен классов (пара десятков элементов).

И вот какой момент. У некоторых элементов надо еще удалять старые классы.
Какая запись будет правильнее с точки зрения оптимизации работы скрипта?

$elements.each(function () {
  if ( $(this).hasClass('active') ) {
    $(this).removeClass('active')
  }
}


Или

$elements.removeClass('active');
  • Вопрос задан
  • 146 просмотров
Решения вопроса 2
Вторая будет лучше.
Ответ написан
Комментировать
@Nwton
$elements.removeClass('active');
Потому что перед удалением, все равно идет проверка на наличие класса. Выходит, что в вашем первом варианте вы проверяете наличие класса 2 раза.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
devellopah
@devellopah
возможно так будет быстрее

var $activeElements = $('.element.active');
$activeElements.removeClass('active');
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы