Добро пожаловать, Гость!
Работа с классами
Помощь мастерам | Работа с классами
![](/style/user/man_off.gif)
Работа с классами
16 Окт 2018Добрый вечер мастера!
Проблемка немного по jQuery, в общем в элементе я ищу класс, удаляю его при нажатии и добавляю другой, если ещё раз нажать он должен вернуть старый класс, что собственно не происходит.
Код:
$("#pass_icon").click(function(){
if ($("#pass_icon").attr("class").search("mdi-lock-outline")) { // ищем класс
$("#pass_icon").removeClass("mdi-lock-outline"); // удаляем его
$("#pass_icon").addClass("mdi-lock-open-outline"); // добавляем другой
} else if ($("#pass_icon").attr("class").search("mdi-lock-open-outline")) { // ищем второй класс
$("#pass_icon").removeClass("mdi-lock-open-outline"); // удаляем его
$("#pass_icon").addClass("mdi-lock-outline"); // добавляем первый
}
});
Итог: первое нажатие срабатывает, а при втором класс назад не возвращается.
Комментарии:
![](/style/user/man_off.gif)
Автор темы
kantry, в jQuery не сильно шарю, поэтому написал как мог. Спасибо за код
![smile](/style/smiles/1185.gif)
![](/style/user/man_off.gif)
Автор темы
Сибирский, там все ясно, else не срабатывает. Не знаю почему. Класс вроде меняется, все впорядке но нет...
![](/style/user/man_off.gif)
mrholler, ну тогда нужно на месте отлаживать, выводи после каждой операции содержание переменных в консоль может там что покажет.
![](/style/user/man_off.gif)
Автор темы
Сибирский, в коде идёт сначало removeClass, а потом уже addClass
Добавлено:
Сибирский, но я уже нашел так сказать "костыль" с помощью переменной, при загрузке ей присваивается 0, при нажатии первый раз присваивается 1, ещё раз возвращает 0.
![](/style/user/man_off.gif)
addClass не удаляет старый а добавляет к нему новый, то есть если класс был MyClass и Вы выполняете к нему addClass('NewClass') то класс становится
MyClass NewClass
В данном случае вам нужно не добавлять а заменять класс полностью
![](/style/user/man_off.gif)
Автор темы
Engine, не совсем то что мне нужно, по мимо переключения класса мне нужно выполнять и другие действия.