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

Рейтинг: 2Ответов: 2Опубликовано: 05.07.2011

Есть элементы разметки, например теги li, которые находится в ротации и им поочередно присваивается и убирается класс "active". Как можно отслеживать изменения класса и если класс изменился, например с "active" на "current" вызывать другую функцию? Влезть в скрипт ротатора нет возможности.

Ответы

▲ 6Принят

Если css классы присваиваются при помощи функции jquery addClass, то достаточно просто ее перезаписать, и таким способом перехватывать вызов:

var origFn = $.fn.addClass;  
$.fn.addClass = function(className)
{
    //  Выполняем здесь необходимый нам код
    //  и вызываем оригинальную функцию

    origFn.apply(this, arguments);
}
▲ 2

Оперируй в логических выражениях чем-то на подобие этого:

$("li").hasClass("current")

Дальше - дело техники...