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

Khi nhấp vào TopLink (class = "handle");jQuery chọn phần tử liền kề

Câu hỏi: làm thế nào để viết jQuery selector theo cách như vậy để chọn ul class = "container" bất cứ khi nào tôi bấm vào TopLink

Something tương tự; $ (this) (Lấy UL tiếp theo với classname = "container")

Trả lời

10

Nếu đó sẽ luôn luôn là cấu trúc HTML của bạn, bạn chỉ có thể sử dụng next:.

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

Nếu có thể có yếu tố giữa các liên kết và các ul, bạn có thể sử dụng siblings để có được tất cả các yếu tố phù hợp với selector:

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

Mặc dù đó cũng sẽ có được anh chị em trước. Để nhận các anh chị em sau đây, bạn có thể sử dụng 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

cảm ơn điều đó thật tuyệt vời! – user6890

+0

Không sao, tôi rất vui được giúp :) –

Các vấn đề liên quan