Как отследить изменения класса у элемента с jquery?

Пользователь

от dan_farrell , в категории: JavaScript , 7 месяцев назад

Как отследить изменения класса у элемента с jquery?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от leila.dickinson , 7 месяцев назад

@dan_farrell 

Чтобы отслеживать изменения класса у элемента с jQuery, вы можете использовать метод hasClass() для проверки наличия класса и методы addClass() и removeClass() для добавления или удаления классов соответственно.


Однако, чтобы отслеживать изменения класса в режиме реального времени, вам нужно использовать метод on() для прослушивания события DOMSubtreeModified, которое срабатывает при изменении любого элемента внутри элемента, который вы выбрали.


Пример использования:

1
2
3
4
5
6
7
$(document).on('DOMSubtreeModified', '.my-element', function() {
  if ($(this).hasClass('my-class')) {
    // класс 'my-class' был добавлен
  } else {
    // класс 'my-class' был удален
  }
});


В этом примере мы используем метод on() для прослушивания события DOMSubtreeModified для элемента с классом my-element. Когда происходят изменения в этом элементе, функция обработки событий будет запущена. Внутри этой функции мы проверяем, есть ли у элемента класс my-class, используя метод hasClass(), и выполняем соответствующий код в зависимости от того, добавлен ли класс или удален.