Foros del Web » Programando para Internet » Jquery »

seleccionar elementos anteriores a un elemento (jQuery)

Estas en el tema de seleccionar elementos anteriores a un elemento (jQuery) en el foro de Jquery en Foros del Web. ¡Hola! Llevo días intentando solucionar este problemilla, a ver si alguien me puede ayudar. Tengo una lista de enlaces, a uno de ellos se le ...
  #1 (permalink)  
Antiguo 24/07/2010, 09:35
 
Fecha de Ingreso: febrero-2009
Mensajes: 8
Antigüedad: 15 años, 2 meses
Puntos: 0
seleccionar elementos anteriores a un elemento (jQuery)

¡Hola! Llevo días intentando solucionar este problemilla, a ver si alguien me puede ayudar.

Tengo una lista de enlaces, a uno de ellos se le asignará una classe "playing" desde una función .addClass (cada vez a uno distinto).

Ejemplo 1
Código HTML:
<div id="enlaces">
<a href="#">Enlace 1</a>
<a href="#">Enlace 2</a>
<a href="#" class="playing">Enlace 3</a>
<a href="#">Enlace 4</a>
<a href="#">Enlace 5</a>
</div> 
Ejemplo 2
Código HTML:
<div id="enlaces">
<a href="#">Enlace 1</a>
<a href="#">Enlace 2</a>
<a href="#">Enlace 3</a>
<a href="#" class="playing">Enlace 4</a>
<a href="#">Enlace 5</a>
</div> 
Busco una función que oculte todos los enlaces anteriores al enlace con la clase "playing" dentro del div con id "enlaces", que consiga:

Para el Ejemplo 1...
Código HTML:
<div id="enlaces">
<a href="#" style="display:none;">Enlace 1</a>
<a href="#" style="display:none;">Enlace 2</a>
<a href="#" class="playing">Enlace 3</a>
<a href="#">Enlace 4</a>
<a href="#">Enlace 5</a>
</div> 
O para el Ejemplo 2...
Código HTML:
<div id="enlaces">
<a href="#" style="display:none;">Enlace 1</a>
<a href="#" style="display:none;">Enlace 2</a>
<a href="#" style="display:none;">Enlace 3</a>
<a href="#" class="playing">Enlace 4</a>
<a href="#">Enlace 5</a>
</div> 
Pero me he encontrado con que la función .hide() no admite selectores!
¿Alguien sabe cómo se puede conseguir esto?
¡Muchas gracias, de antemano!
  #2 (permalink)  
Antiguo 24/07/2010, 15:01
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: seleccionar elementos anteriores a un elemento (jQuery)

prueba esto

Código Javascript:
Ver original
  1. $('#enlaces > a').each(function(){
  2.     var clase = $(this).attr('class');
  3.     if(clase != 'playing')
  4.         $(this).css({display:'none'});
  5.     else
  6.         break;
  7. });
  #3 (permalink)  
Antiguo 24/07/2010, 16:54
 
Fecha de Ingreso: febrero-2009
Mensajes: 8
Antigüedad: 15 años, 2 meses
Puntos: 0
De acuerdo Respuesta: seleccionar elementos anteriores a un elemento (jQuery)

Muchas gracias, tredio, pero el código no funciona..

De todas formas, me has dado la idea clave: usar variables... y ¡Solucionado!

Dejo el código que me funcionó, por si a alguien le sirve más adelante:

Código HTML:
<div id="enlaces">
<a href="#">Enlace 1</a>
<a href="#">Enlace 2</a>
<a href="#">Enlace 3</a>
<a href="#" class="playing">Enlace 4</a>
<a href="#">Enlace 5</a>
</div>

<script>
var listItem = $('.playing');
var indexPlaying = $('#enlaces a').index(listItem);
$(function() {
$('#enlaces a:lt('+ indexPlaying+')').hide('slow');
});
</script> 
¡Un saludo!
  #4 (permalink)  
Antiguo 24/07/2010, 19:46
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: seleccionar elementos anteriores a un elemento (jQuery)

que bueno por lo menos haberte dado una idea, suerte.

Etiquetas: anteriores, elementos, seleccionar
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 04:34.