2012-03-21 33 views
5
<li> 
    <a class="handle" href="abc.htm">TopLink</a> 
    <ul class="container"> 
     <li> 
      <a href="xyz.htm">SubLink1</a> 
     </li>  
    </ul> 
</li> 

Al hacer clic en TopLink (clase = "manejar");jQuery seleccionando el elemento adyacente

Pregunta: ¿cómo escribir selector de jQuery de tal manera para seleccionar ul class = "contenedor" cada vez que hago clic en TopLink

Algo similar; $ (este) (Obtener la siguiente UL con el nombre de clase = "contenedor")

Respuesta

10

Si eso siempre será la estructura de su HTML, puede simplemente usar next:.

$(".handle").click(function() { 
    var ul = $(this).next(); 
}); 

Si puede haber elementos entre el enlace y el ul, podría utilizar siblings para obtener todos los elementos que coinciden con el selector:

$(".handle").click(function() { 
    var uls = $(this).siblings("ul.container"); 
}); 

a pesar de que también obtener los hermanos anteriores. Para obtener los siguientes hermanos, puede usar nextAll:

$(".handle").click(function() { 
    var uls = $(this).nextAll("ul.container"); 

    //You can then use `.eq(0)` to get the closest matching sibling: 
    var sibling = uls.eq(0); 
}); 
+0

gracias eso es increíble! – user6890

+0

No hay problema, me alegro de poder ayudar :) –

Cuestiones relacionadas