2012-02-19 12 views
1

私は、ブートストラップで使用されているものと同様のJQueryドロップダウンを作成しようとしています。.each()JQueryのドロップダウンで

発生する問題は、個々のリスト項目をクリックすると、すべてのサブナビゲーションの表示ブロックです。

私はこの問題が.each()で解決できますが、私のコードは動作していないことを知っています。

ここで例を見つけてください。 http://jsfiddle.net/N7xgC/

この質問には以前に尋ねられている場合はお詫び申し上げます。

B

+0

何が起こることを期待していますか? – Blender

+0

関連するリスト項目に関連する.subがすべてではなく、すべてを開くようにしたいだけです。 –

答えて

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

パーフェクト... thanks dude –

+0

@ 17bc17問題ありません。うれしいことです。受け入れられたとマークすることを検討してください。 –

+1

あなたはあなたにそれを説明したので、あなたはそれにふさわしいでしょう –

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