Если у меня есть класс .A и класс .B, и я хочу переключаться между ними по нажатию кнопки, что является хорошим решением для этого в jQuery? Я до сих пор не понимаю, как toggleClass()
работает.
Есть встроенное решение, чтобы поместить это в onclick=""
событие?
jquery
toggleclass
Стьюи Гриффин
источник
источник
onclick=""
) плохо. почему вы не используете jQuery для регистрации правильного обработчика событий (или делегата / живого события, если у вас много элементов с одним и тем же обработчиком)Ответы:
Если ваш элемент предоставляет класс
A
с самого начала, вы можете написать:Это удалит класс
A
и добавит классB
. Если вы сделаете это снова, он удалит классB
и восстановит классA
.Если вы хотите сопоставить элементы, которые предоставляют любой класс, вы можете использовать множественный селектор классов и написать:
источник
var $trigger = $(".A"); $trigger.on("click", function() {$trigger.toggleClass("A B")});
Вот упрощенная версия: ( хотя и не элегантно, но легко читаемо )
В качестве альтернативы аналогичное решение:
источник
toggle
запрещен в jquery 2.0Я сделал плагин JQuery для работы DRY:
Вы можете просто попробовать это здесь, скопировать и запустить это в консоли, а затем попробуйте:
источник
Ваш
onClick
запрос:Попробуйте это: https://jsfiddle.net/v15q6b5y/
Просто JS à la jQuery :
источник
Вот еще один «нетрадиционный» способ.
Примером этого сценария могут быть кнопки, у которых есть класс для переключения на другой элемент (скажем, вкладки в контейнере).
источник
Самое простое решение - это
toggleClass()
обоих классов в отдельности.Допустим, у вас есть значок:
Для переключения между
fa-angle-down
иfa-angle-up
сделайте следующее:Так
fa-angle-down
как в начале у нас было неfa-angle-up
каждый раз, когда вы переключаете оба, один уходит, а другой появляется.источник
Переключайтесь между двумя классами «A» и «B» с помощью Jquery.
источник