2012-04-13 19 views
0

jquery .animateメソッドを使用して開いている一連のタブがあります。それらはすべて同じクラス名を持つので、.childrenメソッドを使用してクリックされたタブのみを開きます。Jqueryターゲット以外の子要素

問題は、別のタブがすべて開くときに閉じる必要があることです。クリックした子の子を除くすべてのタブインナークラスを対象にする必要があります。

<div class="tab"> 
    <div class="tab-inner"> 
    </div> 
</div> 

<div class="tab"> 
    <div class="tab-inner"> 
    </div> 
</div> 

<div class="tab"> 
    <div class="tab-inner"> 
    </div> 
</div> 

$('.tab').toggle(function() { 
     $(this).children('.tab-inner').animate({width: 840}); 
    }, function() { 
     $(this).children('.tab-inner').animate({width: 60}); 
    }); 

答えて

3
$(this).siblings().children('.tab-inner') 
+0

おかげで、これは完璧に動作します。 – jimbouton

0

あなただけの最初の.tab-innerすべての要素をアニメーション化することができます:

$('.tab').toggle(function() { 
    $('.tab-inner').animate({ width : 60 }); 
    $(this).children('.tab-inner').animate({ width : 840 }); 
}, function() { 
    $(this).children('.tab-inner').animate({ width : 60 }); 
}); 
関連する問題