Добро пожаловать, Гость!
Работа с классами
Помощь мастерам | Работа с классами
mrholler :
Добрый вечер мастера!
Проблемка немного по 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"); // добавляем первый
}
});
Итог: первое нажатие срабатывает, а при втором класс назад не возвращается.
Работа с классами
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 не сильно шарю, поэтому написал как мог. Спасибо за код
Автор темы
kantry, в jQuery не сильно шарю, поэтому написал как мог. Спасибо за код
mrholler 18 Окт 2018
Автор темы
Сибирский, там все ясно, else не срабатывает. Не знаю почему. Класс вроде меняется, все впорядке но нет...
Автор темы
Сибирский, там все ясно, else не срабатывает. Не знаю почему. Класс вроде меняется, все впорядке но нет...
Сибирский 18 Окт 2018
mrholler, ну тогда нужно на месте отлаживать, выводи после каждой операции содержание переменных в консоль может там что покажет.
mrholler, ну тогда нужно на месте отлаживать, выводи после каждой операции содержание переменных в консоль может там что покажет.
mrholler 17 Окт 2018
Автор темы
Сибирский, в коде идёт сначало removeClass, а потом уже addClass
Добавлено:
Сибирский, но я уже нашел так сказать "костыль" с помощью переменной, при загрузке ей присваивается 0, при нажатии первый раз присваивается 1, ещё раз возвращает 0.
Автор темы
Сибирский, в коде идёт сначало removeClass, а потом уже addClass
Добавлено:
Сибирский, но я уже нашел так сказать "костыль" с помощью переменной, при загрузке ей присваивается 0, при нажатии первый раз присваивается 1, ещё раз возвращает 0.
Сибирский 17 Окт 2018
addClass не удаляет старый а добавляет к нему новый, то есть если класс был MyClass и Вы выполняете к нему addClass('NewClass') то класс становится
MyClass NewClass
В данном случае вам нужно не добавлять а заменять класс полностью
addClass не удаляет старый а добавляет к нему новый, то есть если класс был MyClass и Вы выполняете к нему addClass('NewClass') то класс становится
MyClass NewClass
В данном случае вам нужно не добавлять а заменять класс полностью
mrholler 16 Окт 2018
Автор темы
Engine, не совсем то что мне нужно, по мимо переключения класса мне нужно выполнять и другие действия.
Автор темы
Engine, не совсем то что мне нужно, по мимо переключения класса мне нужно выполнять и другие действия.