jquery目标非子元素

问题描述:

我有一系列使用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}); 
    }); 

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

谢谢,这个完美的作品。 – jimbouton 2012-04-13 13:38:35

你可以只动画所有.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 }); 
});