Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/02/2014, 08:39
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Cambiar class con jquery.

Para evitar el problema con los Id, toma el elemento al que le has dado clic con la propiedad target del evento click. Un pequeño ejemplo:

Código HTML:
Ver original
  1. <span id = 1>Uno</span>
  2. <span id = 2>Dos</span>
  3. <span id = 3>Tres</span>
  4. <span id = 4>Cuatro</span>
  5. <span id = 5>Cinco</span>

Código CSS:
Ver original
  1. span{
  2.     background: green;
  3.     color: white;
  4.     font-size: 1.5em;
  5.     display: block;
  6.     margin-bottom: .5em;
  7.     text-align: center;
  8.     cursor: pointer;
  9. }
  10.  
  11. .red{
  12.     background: red;
  13. }

Código Javascript:
Ver original
  1. $(window).click(function(e){
  2.     if (e.target.tagName == "SPAN")
  3.         if (!$(e.target).hasClass("red"))
  4.             $(e.target).addClass("red");
  5.         else
  6.             $(e.target).removeClass("red");
  7. });

Cuando le des clic a alguno de los <span>, originalmente tomará la clase red y cambiará el color de fondo, pero si le vuelve a dar clic, se le quitará dicha clase y tomará nuevamente el color verde.

Aquí lo puedes ver en funcionamiento: http://jsfiddle.net/x8aLZ/

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 18/02/2014 a las 08:51