2011-10-11 26 views
2

我有这样的布局:jQuery的隐藏每个事业部的所有孩子除了首先

<div class="list"> 
    <ul></ul> 
    <ul></ul> 
</div> 
<div class="list"> 
    <ul></ul> 
    <ul></ul> 
    <ul></ul> 
    <ul></ul> 
</div> 
<div class="list"> 
    <ul></ul> 
    <ul></ul> 
</div> 

我想只显示每一个DIV使用jQuery的第一个UL认证。我知道这是可能的,但在使用$('div.list ul:gt(1)').each(function(){$(this).hide()});时,它显示了第一个div的内容并隐藏了其他所有内容。

回答

4

小提琴:http://jsfiddle.net/y9bEG/3/

使用此:

$("div.list").each(function(){ 
    $("ul:not(:first)", this).hide(); 
}); 

它选择与list类中的每个div元件,并隐藏所有<ul>元件,其不是第一个元素。

+0

结果与他的示例相同:http://jsfiddle.net/y9bEG/ – jvenema

+0

@jvenema试试这个小提琴:http://jsfiddle.net/y9bEG/3/ –

+2

'$(“div.list ul:not( :first-child)“)。hide()'应该工作(而不是':first')。 –

相关问题