2010-08-03 69 views
0

我有當點擊這樣jQuery slideDown選擇某個元素?

$('.Minimize').click(function() { 
      $('.ContentTD').slideUp('slow', function() { 
       //animation complete 
      }); 
     }); 

上述腳本web用戶控件內寫入某一元件上執行了slideDown anitmation一個jQuery功能。

問題是,如果一個頁面有很多控件實例,slideDown函數會在頁面中的所有實例中執行。

我希望該功能只能在點擊的控件中執行。

該怎麼辦? 感謝

回答

1

你可以爬上他們都在容器和相對找到元素,像這樣:

$('.Minimize').click(function() { 
    $(this).closest('.container').find('.ContentTD').slideUp('slow'); 
}); 

這假設標記是這樣的:

<div class="container"> 
    <button class="Minimize">Minimize</button> 
    <div class="ContentTD">Content</div> 
</div> 

只要因爲兩者都位於某個具有類別或其他屬性的容器中,您可以使用.closest().find()來獲得.ContentTD只有在集裝箱。或者,如果他們是兄弟姐妹,就像上面的簡單示例一樣,.siblings('.ContentTD')作品,或者某些其他tree traversal method,關鍵是要使用$(this)(您點擊的.Minimize)並找到相關元素。

+0

感謝尼克這正是我想要的 – 2010-08-03 15:11:01