2011-05-02 86 views
1

我想知道是否有一個函數可以用來代替兄弟函數。我是這樣要求的,因爲兄弟姐妹的功能需要他們在同一個div中,這有時會讓我的佈局變得糟糕。我可以使用什麼功能?我在下面發佈一個示例代碼。函數而不是兄弟函數

<div class='hey'> 
    <div class='yes'><button class='my'> </button> </div> 
    <div class='what'> </div> 
    </div> 


    <div class='hey'> 
    <div class='yes'><button class='my'> </button> </div> 
    <div class='what'> </div> 
    <div> 

我想滑下div類什麼獨立取決於點擊按鈕的位置。任何幫助表示感謝,謝謝!請發佈一個例子,並解釋功能歡呼!

回答

2

在這種情況下,你可以使用類似:

$('button').click(
    function(){ 
     $(this).closest('.hey').find('.what').slideToggle(); 
    }); 

JS Fiddle demo


編輯因爲我完全忘了「解釋功能」。哎呀。

  1. $('button').click(選擇html button元素,並將jQuery點擊處理程序附加到它們。
  2. $(this).closest('.hey').find('.what').slideToggle()有效開始於this元素(button),在祖先向上移動,直到它發現,選擇器串,類名.hey的一個元素,並且匹配,則選擇相匹配的最接近元件,在該元素的後代中尋找類名爲.what的元素。在找到這個元素後,它的可見性是slideToggle();如果它隱藏,則顯示它,如果它可見,則隱藏它。

參考文獻:

相關問題