2010-12-09 9 views
6

tengo unas pocas cosas jQuery:jQuery matriz múltiple() llama a

$(this).parent().parent().find(".license_tooltip").stop(true, true).fadeIn(200);

El objeto $(this) está anidado dentro de dos div s como esto:

 
<div> 
    <div> 
     <a href="">$(this) object</a> 
    </div> 

    <div> 
     <a href="">object to fade in</a> 
    </div> 
</div> 

Puede alguien me punto en la dirección correcta para hacer mi jQuery más ágil? La estructura presentada arriba se replica varias veces, por lo que es imposible usar clases e ID.

Respuesta

16

Puede utilizar una clase (o cualquier otro atributo seleccionable) y .closest() para reclamar al padre que quiere, como esto:

<div class="container"> 
    <div> 
     <a href="">$(this) object</a> 
    </div> 

    <div> 
     <a href="">object to fade in</a> 
    </div> 
</div> 

Y para el guión:

$(this).closest(".container").find(".license_tooltip").stop(true, true).fadeIn(200); 
+0

Gracias: -) Añadiré clases a mi 'div's – Bojangles

+0

Gracias también, ¡aunque llego tarde a la fiesta! Traté de ser padre o madre, etc. en una estructura de tabla, olvidando SIMPLEMENTE (como lo hizo) buscar el padre más cercano en la estructura que tiene una determinada clase. ¡Lo hace mucho más fácil y más limpio! – Malachi

1

uso parents()

$(this) 
    .parents('selector for the parent you need to look in') 
    .find(".license_tooltip") 
    .stop(true, true) 
    .fadeIn(200); 
4

Se podría utilizar el .parents([ selector ])here is a link

Se recorrerá más de un padre hacia arriba.

Cuestiones relacionadas