不要隐藏每个班级父母的第一个孩子

时间:2012-11-11 14:42:01

标签: jquery html css

这里有我的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();

1 个答案:

答案 0 :(得分:1)

更新了与您的新问题代码匹配的答案:

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

Fiddle


上面的内容可能看起来并不“正确”,因为人们会认为:first只返回1个元素,但它具有与更冗长和耗费CPU的形式相同的效果:

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

Fiddle

我假设.find()方法在为匹配元素集中的每个元素执行选择器之前在内部进行迭代,因此后一个代码片段是不必要的。但是,如果您在将来升级或降级jQuery时遇到问题,则可以使用更详细和防弹的表单。