2011-08-28 14 views
7

私は次のメニュー構造を持っています。Jquery select next element

<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> 

この構造では、アイテム(aタグ)は背景を持っています。私はホバーイベントの次の項目の背景を変更したい。 Item 2の上にいる場合は、Item 3の背景を変更したいと思います。jQueryで試しましたが、適切なコードが見つかりませんでした。

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

私はnextAllで完全なセレクタパスを使用して試しましたが、次の要素を選択できません。

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

答えて

13

はホバー時に、あなたはそのliの内部で、その後、次のlifind('a')を取得するためにnext()を使用し、その後、親liまで行きたいですliとそれにhoverイベントを添付してください。また、ホバーでnextメソッドを使用して次のli要素を取得し、背景を変更します。私は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'); 
} 
+0

うわー、ありがとう。それは働いている。私はあなたにとても感謝しています。 – danyg

0

の代わりにあなただけ選択することができ、アンカーを選択: