2012-07-02 53 views
0

當我的下一個div的顯示爲空或者其隱藏時,是否可以隱藏以前的div。當下一個div的顯示爲空或隱藏在jQuery中時隱藏以前的div

<div id="first"> Hello </div> 
<div id="second"> 
    <div id="secondchild1" style="display:none"> How are you.? </div> 
    <div id="secondchild2" style="display:none"> Nice to meet you </div> 
</div> 

現在我需要先隱藏當第二所有子div的隱藏或顯示thier爲無。

即使顯示其中一個子div,也應該顯示第一個子div。

在此先感謝。

+3

好,但我們不打算這樣做,你看看這個帖子:HTTP://mattgemmell.com/2008/12/08/你怎麼試過/ – Jorge

回答

2

遍歷#second DIV中的所有div檢查當前孩子的div是否可見或不可見。如果可見,則退出該函數並將布爾值設置爲true。最後,根據布爾值顯示或隱藏#first div。

var showFirst = false; 
$('#second div').each(function() { 
    if ($(this).is(':visible')) { 
     showFirst = true; 
     return false; 
    } 
}); 
showFirst ? $('#first').show() : $('#first').hide();​ 

的jsfiddle
http://jsfiddle.net/Az3aW/

0
if($("#second").children().css("display") != "none") 
{ 
    $("#first").css("display", "none"); 
} 
0
$('#second').children().each(function(){ 
    if($(this).css('display') == 'none') $('#first').hide(); 
}); 

當你得到一個顯示沒有隱藏

+0

這是不工作,因爲它隱藏'#第一個'div元素,如果最後一個孩子有'display:none' – micadelli

+0

@micadelli ops:我沒有考慮問題的最後部分「當其中一個子div顯示時,第一個也應該顯示」),你的解決方案的工作原理;-) –