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

TopLink(class = "handle")をクリックすると、jQuery隣接要素の選択

質問:私は、TopLinkの

ような何かをクリックしたときに=「コンテナ」ULクラスを選択するようにjQueryのセレクタを作成する方法。 $(この)(クラス名=「コンテナ」で次のULを取得します)

答えて

10

それは常にあなたのHTMLの構造になる場合、あなたは、単にnextを使用することができます。

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

があるかもしれない場合それはまた、兄弟の前になるだろうが

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

:リンクとul間の要素は、あなたがセレクタに一致するすべての要素を取得するためにsiblingsを使用することができます。次の兄弟姉妹になるには、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

ありがとうございました! – user6890

+0

いいえ問題は、うれしい私が助けることができる:) –