Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.02.2017, 13:22
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

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

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

или циклом проверять у каких элементов присутствует этот класс (class2) и уже у них удалять его?

Или это по сути одно и тоже...
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2017, 13:40
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от arkadii_parovozov Посмотреть сообщение
или циклом проверять
Это как?
Ответить с цитированием
  #3 (permalink)  
Старый 18.02.2017, 13:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от arkadii_parovozov
Или это по сути одно и тоже...
да
только в том и другом случае цикл будет только для удаления, для выборки по классу цикл не нужен

Последний раз редактировалось рони, 18.02.2017 в 13:50.
Ответить с цитированием
  #4 (permalink)  
Старый 18.02.2017, 13:58
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

$('.class1.class2').removeClass('class2');
Ответить с цитированием
  #5 (permalink)  
Старый 18.02.2017, 14:08
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Сообщение от Alexandroppolus Посмотреть сообщение
$('.class1.class2').removeClass('class2');
Или
$(".class1").removeClass("class2");

Или
$('.class2') .each(function(){
		 $(this).removeClass("class2");
	});

Что из этого будет выполняться быстрее всего, и почему?
Ответить с цитированием
  #6 (permalink)  
Старый 18.02.2017, 14:25
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

arkadii_parovozov, почему условия разные?
Ответить с цитированием
  #7 (permalink)  
Старый 18.02.2017, 14:40
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

Сообщение от Rise Посмотреть сообщение
arkadii_parovozov, почему условия разные?
Но результат-то один.
При этих условий удаляется класс "class2". В этом-то и смысл создания этой темы, чтобы узнать какой метод самый производительный и почему...
Ответить с цитированием
  #8 (permalink)  
Старый 18.02.2017, 15:05
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

arkadii_parovozov, тогда этот:
$(".class2").removeClass("class2");
Ответить с цитированием
  #9 (permalink)  
Старый 18.02.2017, 15:15
Кандидат Javascript-наук
Отправить личное сообщение для arkadii_parovozov Посмотреть профиль Найти все сообщения от arkadii_parovozov
 
Регистрация: 24.11.2016
Сообщений: 101

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

$(".class1").removeClass("class2");

$('.class1') .each(function(){
         $(this).removeClass("class2");
});
Ответить с цитированием
  #10 (permalink)  
Старый 18.02.2017, 15:18
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

arkadii_parovozov, первое же.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление дерева моделей Infarch ExtJS 1 18.07.2016 11:27
автоматическое удаление скоупа директивы при удаление dom узла FanAizu Angular.js 0 25.08.2015 21:38
удаление классов Trues Элементы интерфейса 10 18.03.2015 15:29
Можно ли объединить несколько классов? zazula (X)HTML/CSS 4 14.12.2014 11:40
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42