2010-12-15 43 views
5

Theo một số mã ví dụ, tôi có thể có một cái gì đó như thế này:jquery - chạy chức năng trên mỗi phần tử trừ một trong đó được nhấp

$('a.parent').click(function(){ 

     $('a.parent').each(function(){ 
      $(this).stop(true,false).animate({ 
       width: '140px' 
      },200,function(){ 
      }); 
     }); 

     $(this).animate({ 
      width: '160px' 
     },200,function(){ 
     }); 

    }); 

Vấn đề là tôi không muốn các yếu tố đó được nhấp vào animate đến 140px chiều rộng và sau đó quay lại 160px.

Có cách nào để chạy 'mỗi' chỉ trên các phần tử trong nhóm không được nhấp không? đây có phải là cách tốt hơn không?

+2

tôi không biết nếu mà làm việc, nhưng làm thế nào về: '$ ('a.parent') không ($ (this)) mỗi (...' – BeemerGuy

+0

Cheers cho @BeemerGuy đó... net – cfx

Trả lời

21

bạn có thể sử dụng: không (điều này) để thay đổi:

$('a.parent').each(function(){ 
      $(this).stop(true,false).animate({ 
       width: '140px' 
      },200,function(){ 
      }); 
     }); 

tới:

$('a.parent:not('+this+')').each(function(){ 
      $(this).stop(true,false).animate({ 
       width: '140px' 
      },200,function(){ 
      }); 
     }); 

hoặc sử dụng .not (this) sau $ ('a.parent'), vì vậy:

$('a.parent').not(this).each(function(){ 
       $(this).stop(true,false).animate({ 
        width: '140px' 
       },200,function(){ 
       }); 
      }); 
+0

cảm ơn ngài, nó ' s thực sự là một trợ giúp lớn. – GianFS

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