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
A
desde el principio, puede escribir:Esto eliminará la clase
A
y agregará claseB
. Si vuelve a hacer eso, eliminará la claseB
y 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
toggle
está 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
onClick
solicitud: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-down
yfa-angle-up
hacer lo siguiente:Como teníamos
fa-angle-down
al principio sinfa-angle-up
cada vez que alternabas ambos, uno se va para que aparezca el otro.fuente
Alternar entre dos clases 'A' y 'B' con Jquery.
fuente