2012-11-11 36 views
0

這裏有我的HTML和jQuery代碼隱藏不是第一個孩子,從每一類家長

<div class="tabbed"> 
    <h2>Title</h2> 
    <div class="tabs"></div> <!-- want to show then hide rest --> 
    <h2>Title</h2> 
    <div class="tabs"></div> 
    <h2>Title</h2> 
    <div class="tabs"></div> 
</div> 
<div class="tabbed"> 
    <h2>Title</h2> 
    <div class="tabs"></div> <!-- want to show then hide rest --> 
    <h2>Title</h2> 
    <div class="tabs"></div> 
    <h2>Title</h2> 
    <div class="tabs"></div> 
    <h2>Title</h2> 
    <div class="tabs"></div> 
</div> 
<div class="tabbed"> 
    <h2>Title</h2> 
    <div class="tabs"></div> <!-- want to show then hide rest --> 
    <h2>Title</h2> 
    <div class="tabs"></div> 
    <h2>Title</h2> 
    <div class="tabs"></div> 
    <h2>Title</h2> 
    <div class="tabs"></div> 
</div> 

jQuery的

$(".tabbed > .tabs:not(:first)").hide(); 
+2

你在這裏問的問題是什麼? –

+1

感謝編輯 - 現在更清晰。 –

+0

嗨@Chris增加了更多信息,使之更加清晰 – idontknowhow

回答

1

更新的答案,以配合您的新問題代碼:

$(".tabbed").find('.tabs:not(:first)').hide(); 

Fiddle


以上可以不看「正確」的人會認爲:first將返回只有1元,但它有,因爲這更繁瑣,消耗CPU資源的形式相同的效果:

$(".tabbed").each(function() { 
    $(this).find('.tabs:not(:first)').hide(); 
}); 

Fiddle

我假設.find()方法在爲匹配元素集合中的每個元素執行選擇器之前在內部執行迭代,所以後面的代碼片段是不必要的。但是,如果將來升級或降級jQuery時遇到問題,則可以使用更詳細和防彈的形式。

+0

這一個更好,偉大的代碼! – idontknowhow

相關問題