2012-01-24 16 views
0

ユーザーが#bu idをクリックするたびに、すべての#bu2 idsをスライド(または上に移動)したいと考えました。しかし、#buをクリックすると、「First」だけが表示されます。コード:複数のIDのスライド切り替え

私はそのためにループが必要であると認識しました。次に、私は試しました $( "#bu2")。slideToggle( "slow"); しかし、それはそれを解決しませんでした。どのようにして、プロセスで「スライド要素」クラスを使用せずに、「Second」と「Third」を異なるIDとして宣言することなく、IDを使用してスライドを上下にスライドさせることができますか?
ありがとう

+2

まず "IDは一意です"!複数の等しいIDを取得しようとすると、常に最初のIDのみが返されます。 – Sinetheta

答えて

2

に行くことができます。

はこれを試してみてください:

$(".bu2").slideToggle("slow"); 

<li class="sliding-element" id="bu">clickMe</li> 
<li class="sliding-element bu2" style="display:none;">First</li> 
<li class="sliding-element bu2" style="display:none;">Second</li> 
<li class="sliding-element bu2" style="display:none;">Third</li> 

か、1 ulの中のすべての '李' の要素をスライドにしたい場合は、この:

$("ul#foo li").slideToggle("slow");   

<ul id="foo"> 
    <li>First</li> 
    <li>Second</li> 
</ul> 
0

ユニークでないもののクラスを使用します。また<li> sが唯一しなければならず、内部のあなたが同じIDを持つ複数の要素を持つべきではありません<ul>

$("#bu").click(function(){ 
    $('.bu2').slideToggle("slow"); 
}) 

<ul class="sliding-element" id="bu">clickMe 
    <li class="sliding-element bu2" style="display:none;">First</li> 
    <li class="sliding-element bu2" style="display:none;">Second</li> 
    <li class="sliding-element bu2" style="display:none;">Third</li> 
</ul> 
関連する問題