Si tengo la clase .A y la clase .B y quiero cambiar entre hacer clic en el botón, ¿cuál es una buena solución para eso en jQuery? Todavía no entiendo cómo toggleClass()funciona.
¿Existe una solución en línea para ponerlo en onclick=""evento?
jquery
toggleclass
Stewie Griffin
fuente
fuente

onclick="") es malo. ¿Por qué no utiliza jQuery para registrar un controlador de eventos adecuado (o un delegado / evento en vivo si tiene muchos elementos con el mismo controlador)Respuestas:
Si su elemento expone la clase
Adesde el principio, puede escribir:Esto eliminará la clase
Ay agregará claseB. Si vuelve a hacer eso, eliminará la claseBy restablecerá la claseA.Si desea hacer coincidir los elementos que exponen cualquiera de las clases, puede usar un selector de clase múltiple y escribir:
fuente
var $trigger = $(".A"); $trigger.on("click", function() {$trigger.toggleClass("A B")});Aquí hay una versión simplificada: ( aunque no elegante, pero fácil de seguir )
Alternativamente, una solución similar:
fuente
toggleestá depricated en jquery 2.0He creado un complemento jQuery para trabajar DRY:
Puede probarlo aquí, copiar y ejecutar esto en la consola y luego intentar:
fuente
Su
onClicksolicitud:Pruébalo: https://jsfiddle.net/v15q6b5y/
Solo el JS à la jQuery :
fuente
Aquí hay otra forma 'no convencional'.
Un ejemplo de este escenario podría ser botones que tienen la clase que se debe activar en otro elemento (digamos pestañas en un contenedor).
fuente
La solución más fácil es para
toggleClass()ambas clases individualmente.Digamos que tienes un ícono:
Para alternar
fa-angle-downyfa-angle-uphacer lo siguiente:Como teníamos
fa-angle-downal principio sinfa-angle-upcada vez que alternabas ambos, uno se va para que aparezca el otro.fuente
Alternar entre dos clases 'A' y 'B' con Jquery.
fuente