2011-08-28 16 views
7

Tengo la siguiente estructura de menú.Jquery seleccione el siguiente elemento

<li class="menu-422"><a href="item-1" title="">Item 1</a></li> 
<li class="menu-444"><a href="item-2" title="">Item 2</a></li> 
<li class="menu-449"><a href="item-3" title="">Item 3</a></li> 
<li class="menu-452"><a href="item-4" title="">Item 4</a></li> 

En esta estructura, los elementos (la etiqueta a) tienen fondo. Quiero cambiar el fondo del siguiente elemento en el evento de desplazamiento. Si supero el Item 2, quiero cambiar el fondo del Item 3. Lo intenté con jQuery, pero no encontré el código apropiado.

jQuery("#mymenu li a").hover(function() { 
    jQuery(this).next("li a").css('background', 'none'); 
} 

Lo intenté con nextAll, con la ruta del selector completo, pero no puedo seleccionar el siguiente elemento.

Respuesta

13

Al vuelo estacionario, que desea subir a la matriz li, a continuación, utilizar next() para llegar a la siguiente li, entonces find('a') dentro de ese li:

$("#mymenu li a").hover(function() { 
    $(this).parent().next().find("a").css('background', 'none'); 
}); 
+0

Wow, gracias. Esta funcionando. Estoy muy agradecido contigo. – danyg

0

En lugar de seleccionar las anclas que sólo puede seleccionar li y adjuntar el evento hover en él. Y en el control deslizante solo use el método next para obtener el siguiente elemento li y cambie el fondo. Supongo que no tienes antecedentes establecidos para el ancla porque estoy cambiando el fondo del elemento li.

$("#mymenu li").hover(function() { 
    $(this).next().css('background', 'none'); 
    //If you want to change the background of anchor try this 
    //$(this).next().find('a').css('background', 'none'); 
} 
Cuestiones relacionadas