Jeśli mam klasę .A i klasę .B i chcę przełączać się między kliknięciem przycisku, jakie jest dobre rozwiązanie w jQuery? Nadal nie rozumiem, jak to toggleClass()
działa.
Czy istnieje jakieś rozwiązanie na miejscu, aby to zrobić onclick=""
?
jquery
toggleclass
Stewie Griffin
źródło
źródło
onclick=""
) jest zła. dlaczego nie użyjesz jQuery do zarejestrowania odpowiedniego modułu obsługi zdarzeń (lub wydarzenia delegowanego / na żywo, jeśli masz wiele elementów z tym samymOdpowiedzi:
Jeśli twój element odsłania klasę
A
od samego początku, możesz napisać:Spowoduje to usunięcie klasy
A
i dodanie klasyB
. Jeśli zrobisz to ponownie, usunie klasęB
i przywróci klasęA
.Jeśli chcesz dopasować elementy eksponujące dowolną klasę, możesz użyć selektora wielu klas i napisać:
źródło
var $trigger = $(".A"); $trigger.on("click", function() {$trigger.toggleClass("A B")});
Oto uproszczona wersja: ( choć nie elegancka, ale łatwa do naśladowania )
Alternatywnie podobne rozwiązanie:
źródło
toggle
jest utrudniony w jquery 2.0Zrobiłem wtyczkę jQuery do pracy DRY:
Możesz po prostu spróbować tutaj, skopiować i uruchomić to w konsoli, a następnie spróbować:
źródło
Twoja
onClick
prośba:Wypróbuj: https://jsfiddle.net/v15q6b5y/
Tylko JS à la jQuery :
źródło
Oto inny „niekonwencjonalny” sposób.
Przykładem tego scenariusza mogą być przyciski, w których klasę można włączyć na innym elemencie (np. Tabulatory w kontenerze).
źródło
Najłatwiejszym rozwiązaniem jest dla
toggleClass()
obu klas indywidualnie.Powiedzmy, że masz ikonę:
Aby przełączyć między
fa-angle-down
ifa-angle-up
wykonaj następujące czynności:Ponieważ mieliśmy
fa-angle-down
na początku, bezfa-angle-up
każdorazowego przełączania obu, jedno wychodzi, aby drugie się pojawiło.źródło
Przełączaj się między dwiema klasami „A” i „B” za pomocą Jquery.
źródło