0

次の div の表示がない場合、または非表示の場合に、前の 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>

2 番目のすべての子 div が非表示になっている場合、または表示がない場合は、最初に非表示にする必要があります。

また、子 div の 1 つが表示されている場合でも、最初の div も表示する必要があります。

前もって感謝します。

4

3 に答える 3

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/

于 2012-07-02T13:09:43.073 に答える
0
if($("#second").children().css("display") != "none")
{
    $("#first").css("display", "none");
}
于 2012-07-02T12:50:00.610 に答える
0
$('#second').children().each(function(){
    if($(this).css('display') == 'none') $('#first').hide();
});

あなたが1つの表示を取得した場合 なし 非表示

于 2012-07-02T12:56:55.193 に答える