Вход

Просмотр полной версии : Удаление классов с высокой производительностью


arkadii_parovozov
18.02.2017, 13:22
Всем привет!

Возник такой вопрос: что менее затратное (в плане производительности, скорости работы скрипта) сбросить все классы по классу группы элементов используя эту функцию:$(".class1").removeClass("class2");
или циклом проверять у каких элементов присутствует этот класс (class2) и уже у них удалять его?

Или это по сути одно и тоже...

рони
18.02.2017, 13:47
Или это по сути одно и тоже...
да
только в том и другом случае цикл будет только для удаления, для выборки по классу цикл не нужен

Alexandroppolus
18.02.2017, 13:58
$('.class1.class2').removeClass('class2');

arkadii_parovozov
18.02.2017, 14:08
$('.class1.class2').removeClass('class2');
Или
$(".class1").removeClass("class2");
Или
$('.class2') .each(function(){
$(this).removeClass("class2");
});
Что из этого будет выполняться быстрее всего, и почему?

arkadii_parovozov
18.02.2017, 14:40
arkadii_parovozov, почему условия разные?
Но результат-то один.
При этих условий удаляется класс "class2". В этом-то и смысл создания этой темы, чтобы узнать какой метод самый производительный и почему...

arkadii_parovozov
18.02.2017, 15:15
Согласен, тогда он ищет только класс class2. А если выбрать из этих трех функций:
$('.class1.class2').removeClass('class2');
$(".class1").removeClass("class2");
$('.class1') .each(function(){
$(this).removeClass("class2");
});

Malleys
18.02.2017, 15:28
https://jsfiddle.net/292ehxbb/6/

arkadii_parovozov
18.02.2017, 16:05
Спасибо за наглядный пример!!! Всем плюсы! )