Foros del Web » Programando para Internet » Jquery »

cambiar clase css con jquery

Estas en el tema de cambiar clase css con jquery en el foro de Jquery en Foros del Web. hola a todos, tengo la siguiente lista: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < ul class = "lista_horizontal paginacion" > < li class = "lista_horizontal" ...
  #1 (permalink)  
Antiguo 30/11/2011, 11:22
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
cambiar clase css con jquery

hola a todos,

tengo la siguiente lista:

Código HTML:
Ver original
  1. <ul class="lista_horizontal paginacion">
  2. <li class="lista_horizontal"><a href="cargaPublicaciones.php?anho=<?php echo($arrayAnhos[$c]);?>" class="cargar colorLi" > <?php echo($arrayAnhos[$c]);?> </a></li>
  3. <li class="lista_horizontal"><a href="cargaPublicaciones.php?anho=<?php echo($arrayAnhos[$c]);?>" class="cargar colorLi" > <?php echo($arrayAnhos[$c]);?> </a></li>
  4. <li class="lista_horizontal"><a href="cargaPublicaciones.php?anho=<?php echo($arrayAnhos[$c]);?>" class="cargar colorLi" > <?php echo($arrayAnhos[$c]);?> </a></li>
  5.  
  6. </ul>


y con este codigo javascript accedo a las diferentes paginas:

Código Javascript:
Ver original
  1. <script>
  2. $("a.cargar").each(function(){
  3.     var href = $(this).attr("href");
  4.     $(this).click(function(){
  5.         $(this).removeClass("colorLi");
  6.         $(this).addClass("actual");
  7.         $("#paginacion_publicacion").fadeOut(0);
  8.         $("#paginacion_publicacion").fadeOut().load(href).fadeIn('slow');
  9.     });
  10.     $(this).attr({href:"#!"});
  11. });
  12.  
  13. </script>


cada elemento de la lista tiene una clase inicial que es color Li, yo lo que quiero es que una vez pulse en un elemento de la lista, este cambie a otra clase que tengo llamada actual.

mi problema radica en q con los metodos de jquery addclass() y removeclass() lo aplica a todos los elementos de la lista y no en el que hago click en cada momento, es decir me cambia la clase a todos los elementos. hasta donde yo se de jquery creo q tal como tengo el codigo deberia de funcionar pero no es asi

si alguien tiene alguna idea mejor que la mia o sabe donde esta mi fallo xq yo llevo un largo tiempo viendo el codigo y no encuentro el problema


gracias
  #2 (permalink)  
Antiguo 30/11/2011, 15:47
 
Fecha de Ingreso: julio-2003
Ubicación: Cochabamba Bolivia
Mensajes: 300
Antigüedad: 21 años, 5 meses
Puntos: 14
Respuesta: cambiar clase css con jquery

Hola.

Segun lo que te entendi creo que deberias hacerlo asi:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3.     $( 'a.cargar' ).click(function(){
  4.  
  5.         $( 'a.cargar' ).each(function(){
  6.             $( this ).removeClass( 'actual' );
  7.             $( this ).addClass( 'colorLi' );
  8.         });
  9.  
  10.         $( this ).removeClass( 'colorLi' );
  11.         $( this ).addClass( 'actual' );
  12.  
  13.     });
  14.  
  15. </script>

Saludos.
__________________
:policia: Uno para todos y todos para uno.
  #3 (permalink)  
Antiguo 01/12/2011, 04:32
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: cambiar clase css con jquery

veras me explike mal, tengo una lista de elementos al cual le doy un estilo en la propia lista tal q asi:

Código HTML:
Ver original
  1. <li class="lista_horizontal"><a href="cargaPublicaciones.php?anho=<?php echo($arrayAnhos[$c]);?>" class="cargar" style="color: rgb(104, 186, 100);
  2.     background-color: rgb(227, 242, 225); border: rgb(227, 242, 225);" > <?php echo($arrayAnhos[$c]);?> </a></li>


y lo q hago con javascript es q cuando haga click cambie a otro estilo tal q asi :

Código Javascript:
Ver original
  1. $("a.cargar").each(function(){
  2.     var href = $(this).attr("href");
  3.     $(this).click(function(){
  4.        
  5.         $(this).css({'color':'black','background-color':'rgb(202, 230, 198)','border':'1px solid rgb(190, 248, 184)'});
  6.         $("#paginacion_publicacion").fadeOut(0);
  7.         $("#paginacion_publicacion").fadeOut().load(href).fadeIn('slow');
  8.        
  9.     });
  10.     $(this).attr({href:"#!"});
  11.    
  12. });
  13. $(this).css({'color':'rgb(104, 186, 100)','background-color':'rgb(227, 242, 225)','border':'rgb(227, 242, 225)'});
  14. // es esta linea es donde le digo q vuelva a su color original pero creo q estoy entendiendo mal la logica y no lo hace como yo kiero


como mis conocimientos son limitados con respecto a jquery y javascript pues no se como puedo hacerlo,

Etiquetas: clase, css, funcion, javascript, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:16.