2012-02-19 110 views
1

我正在嘗試創建一個類似於bootstrap中使用的JQuery下拉菜單。.each()on JQuery Dropdown

出現的問題是,當單個列表項被點擊時,所有子導航的顯示塊。

現在我知道這個問題可以用.each()解決,但是我的代碼似乎不工作。

請在這裏找到示例; http://jsfiddle.net/N7xgC/

道歉,如果這個問題已經問過。

+0

你期望發生的? – Blender 2012-02-19 19:43:55

+0

我只想要與相關列表項目有關的.sub打開並不是每個.sub – 2012-02-19 19:45:03

回答

0

嘗試該變形例:

http://jsfiddle.net/N7xgC/1/

$(function() { 
    $('.main > li > a').each(function() { 
     $(this).click(function() { 
      // When the anchor is clicked, find the next .sub element and toggle it 
      $(this).next('.sub').toggle(); 
     }); 
    }); 
}); 

我改變你的與類.sub '下一步' 所點擊的錨切換元件。

+0

完美....感謝花花公子 – 2012-02-19 19:46:30

+0

@ 17bc17沒問題,很高興這很有幫助:)如果你確實發現它有幫助,也許你可以考慮將其標記爲已接受? – 2012-02-19 19:47:36

+1

你解釋了它的傢伙,所以你值得擁有它 – 2012-02-19 19:56:48

0

您無法選擇全部.sub並切換它們。你只需要得到被點擊的a元素旁邊的那個元素。

試試這個:

$(this).next(".sub").toggle(); 

更新你的提琴,所以你可以看到它在行動:http://jsfiddle.net/N7xgC/3/

0
$('.main li a').on('click', function() { 
    $(this).next('.sub').toggle(); 
}); 

JSFiddle Demo