2012-02-20 26 views
7

Tôi có một danh sách có thứ tự với năm mục danh sách, mỗi với một liên kết bên trong của nó:jQuery: chọn tất cả các liên kết khác hơn thế này một

 
<ul> 
    <li><a href="#">Link 1</a></li> 
    <li><a href="#">Link 2</a></li> 
    <li><a href="#">Link 3</a></li> 
    <li><a href="#">Link 4</a></li> 
    <li><a href="#">Link 5</a></li> 
</ul> 

Sử dụng jQuery, bất cứ khi nào tôi bấm vào bất kỳ một trong những liên kết này, Tôi muốn chọn tất cả các số khác và sau đó làm điều gì đó cho họ (áp dụng một lớp học, v.v.).

Làm cách nào để thực hiện việc này?

Trả lời

22

Sử dụng phương pháp not để loại bỏ một phần tử từ một đối tượng jQuery:

$(function(){ 

    $('ul li a').click(function(){ 
    $('ul li a').not(this).addClass('other'); 
    }); 

}); 
10

Bên trong nhấp chuột callback:

var others = $(this).closest('ul').find('a').not(this); 
2

Bạn có thể chọn tất cả các liên kết, sau đó sử dụng .not(this) để thực hiện những gì bạn muốn, như sau:

$("a").click(function(){ 
    $("a").not(this).css("color","red"); 
}); 
Các vấn đề liên quan