2011-05-29 79 views
6

我有我的HTML作爲如何當另一個div中的所有div都看不見

<div id="main"> 
    <div class="item">String</div> 
    <div class="item">String</div> 
    <div class="item">String</div> 
</div> 

點擊每個.item DIV設置DIV單擊以display: none檢測。如果沒有顯示div,我希望#main div也設置爲display :none

那麼如何檢測出#main div中的所有div .items都處於使用jQuery的「display:none」模式?

$(document).ready(function() { 
    $('.item').click(function(){ 
     $(this).hide(); 
    }); 
}); 

回答

8

使用:visible選擇:

if (! $('#main > div:visible').length) { 
    $('#main').hide(); 
} 
+0

我不知道爲什麼它不工作但條件檢查'if(!$('#main> div:visible')。length)'不起作用。但是,當我將它改爲'if($('#main> div:visible')。length == 1)'它就像當我點擊最後一個'.item'時一樣,我想'#main' div消失。謝謝 :) – ptamzz 2011-05-29 09:26:53