Добро пожаловать, Гость!
Работа с классами
Помощь мастерам | Работа с классами
mrholler : Работа с классами
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"); // добавляем первый
}
});
Итог: первое нажатие срабатывает, а при втором класс назад не возвращается.
Комментарии:
mrholler 18 Окт 2018Автор темы
kantry, в jQuery не сильно шарю, поэтому написал как мог. Спасибо за код

mrholler 18 Окт 2018Автор темы
Сибирский, там все ясно, else не срабатывает. Не знаю почему. Класс вроде меняется, все впорядке но нет...
Сибирский 18 Окт 2018mrholler, ну тогда нужно на месте отлаживать, выводи после каждой операции содержание переменных в консоль может там что покажет.
mrholler 17 Окт 2018Автор темы
Сибирский, в коде идёт сначало removeClass, а потом уже addClass
Добавлено:
Сибирский, но я уже нашел так сказать "костыль" с помощью переменной, при загрузке ей присваивается 0, при нажатии первый раз присваивается 1, ещё раз возвращает 0.
Сибирский 17 Окт 2018addClass не удаляет старый а добавляет к нему новый, то есть если класс был MyClass и Вы выполняете к нему addClass('NewClass') то класс становится
MyClass NewClass
В данном случае вам нужно не добавлять а заменять класс полностью
mrholler 16 Окт 2018Автор темы
Engine, не совсем то что мне нужно, по мимо переключения класса мне нужно выполнять и другие действия.

