Se eu tiver a classe .A e a classe .B e quiser alternar entre os cliques no botão, qual é a melhor solução para isso no jQuery? Eu ainda não entendo como toggleClass()
funciona.
Existe uma solução em linha para colocá-lo em onclick=""
evento?
jquery
toggleclass
Stewie Griffin
fonte
fonte
onclick=""
) embutido é ruim. por que não usar jQuery para registrar um manipulador de eventos adequada (ou um delegado / evento ao vivo, se você tem muitos elementos com o mesmo manipulador)Respostas:
Se o seu elemento expuser a classe
A
desde o início, você pode escrever:Isso removerá a classe
A
e a adicionaráB
. Se você fizer isso novamente, ele removerá a classeB
e a restabeleceráA
.Se você deseja combinar os elementos que expõem uma das classes, pode usar um seletor de várias classes e escrever:
fonte
var $trigger = $(".A"); $trigger.on("click", function() {$trigger.toggleClass("A B")});
Aqui está uma versão simplificada: ( embora não seja elegante, mas fácil de seguir )
Como alternativa, uma solução semelhante:
fonte
toggle
é depricated em jQuery 2.0Eu criei um plugin jQuery para trabalhar DRY:
Você pode apenas tentar aqui, copiar e executar isso no console e depois tentar:
fonte
O seu
onClick
pedido:Experimente: https://jsfiddle.net/v15q6b5y/
Apenas o JS à jQuery :
fonte
Aqui está outra maneira 'não convencional'.
Um exemplo desse cenário pode ser botões com a classe a ser ativada em outro elemento (por exemplo, guias em um contêiner).
fonte
A solução mais fácil é para
toggleClass()
ambas as classes individualmente.Digamos que você tenha um ícone:
Para alternar entre
fa-angle-down
efa-angle-up
faça o seguinte:Como tínhamos
fa-angle-down
no começo semfa-angle-up
cada vez que você alternava os dois, um sai para o outro aparecer.fonte
Alterne entre duas classes 'A' e 'B' com Jquery.
fonte