当下一个div的显示为none或隐藏在jQuery中时隐藏前一个div

时间:2012-07-02 12:44:13

标签: jquery html jquery-selectors next

当下一个div的显示为none或隐藏时,是否可以隐藏前一个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被隐藏或者显示为none。

即使显示其中一个子div,也应显示第一个。

提前致谢。

3 个答案:

答案 0 :(得分:2)

迭代#second div中的所有div以检查当前子div是否可见。如果它可见则退出该函数并将boolean设置为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/

答案 1 :(得分:0)

if($("#second").children().css("display") != "none")
{
    $("#first").css("display", "none");
}

答案 2 :(得分:0)

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

当你得到一个显示器时,没有隐藏