Foros del Web » Programando para Internet » Jquery »

Seleccionar elemento padre de un enlace

Estas en el tema de Seleccionar elemento padre de un enlace en el foro de Jquery en Foros del Web. Buenas! Creando mi menú querría hacer que cuando pulsen sobre el enlace cambie el estilo del <li> que lo contiene, pero no consigo terminar de ...
  #1 (permalink)  
Antiguo 09/04/2014, 01:44
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Pregunta Seleccionar elemento padre de un enlace

Buenas!

Creando mi menú querría hacer que cuando pulsen sobre el enlace cambie el estilo del <li> que lo contiene, pero no consigo terminar de ver el código

Mi bloque es el siguiente:
Código HTML:
Ver original
  1. <nav class="menu">
  2.                 <ul>
  3.                     <li><a href="#uno" class="activo">Uno</a></li>
  4.                     <li><a href="#dos">Dos</a></li>
  5.                     <li><a href="#tres">Tres</a></li>
  6.                     <li><a href="#cuatro">Cuatro</a></li>
  7.                     <div class="limpia"></div>
  8.          </ul>
  9. </nav>

Y el jQuery con el que estoy probando, consigo editar y cambiar clase al <a> pero me gustaría que la clase se editase sobre el <li> (llevando el <li> la clase "activo" o no)

Mi jQuery que funciona en los enlaces es:
Código Javascript:
Ver original
  1. $('.menu ul li a').click(function(){                    
  2.                     $('.menu ul li a').each(function(){
  3.                         if ($(this).hasClass('activo')){
  4.                             $(this).removeClass('activo');
  5.                             return false; // provocamos salida, no hay mas con activo
  6.                         }                        
  7.                     });                    
  8.                     $(this).addClass('activo');
  9.                 });
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #2 (permalink)  
Antiguo 09/04/2014, 04:46
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Seleccionar elemento padre de un enlace

Pues con parent() será.

Código Javascript:
Ver original
  1. $(this).parent().addClass('activo')
  #3 (permalink)  
Antiguo 09/04/2014, 07:07
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Seleccionar elemento padre de un enlace

Cita:
Iniciado por pzin Ver Mensaje
Pues con parent() será.

Código Javascript:
Ver original
  1. $(this).parent().addClass('activo')
Pua....dios....lo estaba escribiendo mal

Ya que estoy aprovecho (si es mejor abrir otro post, me lo decís y lo abro ).... la página que estoy construyendo, va a ir todo su contenido en la misma página.

Actuo de la siguiente forma: cuando me hacen scroll, cambio las clases de los elementos para que me efectuen un padding del tamaño del menú pero me ocurre que dicha modificación me lo hace una vez que se ha hecho el scroll.

No sé si me explico muy bien, pero es como si hiciese: scroll hacia el ancla que tengo - modifica la clase del bloque.

He probado a que primero haga el cambio de clase y luego el scroll pero nada :(
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #4 (permalink)  
Antiguo 09/04/2014, 17:04
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 10 años, 10 meses
Puntos: 32
Respuesta: Seleccionar elemento padre de un enlace

sinceramente no entendi muy bien del todo el segundo problema XD ... pero aun asi.... crea otro psot si quieres hacer una pregunta que estes seguro es otra y no existe ya respuesta a ello ya que eso ayuda a que otros que necesitan lo mismo puedan encontrarlo

Etiquetas: elemento, enlace, padre
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 20:56.