Tengo una lista y necesito que cuando haga clic en el cambio div "accordionHead" solo haga clic en uno por uno, no todos.

$('.accordionHead').each( function(){
  $(this).bind('click', function(){
      $(this).find('h2 a').css("color", "green");
  });
});

jsfiddle

1
Cristiano Matos 4 sep. 2014 a las 23:17

3 respuestas

La mejor respuesta

Cree una clase css y, al hacer clic, agregue esa clase en la etiqueta de anclaje y elimínela de las otras etiquetas de anclaje que ya tienen esa clase.

.green
{
    color:green
}

Así:

$('.accordionHead').on('click', function(){
      $('h2 a.green').removeClass("green");
      $(this).find('h2 a').addClass("green");
  });

FIDDLE ACTUALIZADA:

http://jsfiddle.net/92p3enp3/3/

4
Ehsan Sajjad 4 sep. 2014 a las 19:22

Dale una oportunidad a esto:

$('.accordionHead').each( function(){
  $(this).bind('click', function(){
      $(this).find('h2 a:gt(1)').css("color", "green");
  });
});
0
binks 4 sep. 2014 a las 19:30

A continuación hará el truco

$('.accordionHead').each( function(){
  $(this).bind('click', function(){
      $('.accordionHead').find('h2 a').removeClass('color');
      $(this).find('h2 a').addClass('color');
  });
});
0
doforumda 4 sep. 2014 a las 20:22