2

私はコードを持っています:

<div id="parent">
   <div id="firstchild" style="display:none">
   <div id="secondchild">
   <div id="thirdchild" style="display:none">
</div>

だから私がしたいのは、jquery で隠されていない要素を見つけることです。第二子。

:hidden の行に沿って何かを使用する必要があると思いますが、実際には反対のことを行い、非表示のものを見つけたいと思っています。

誰でもこれを行う方法を知っていますか? 親の子である可視 div を見つけて非表示にするには?

4

3 に答える 3

10

:visibleセレクターを試すことができます:

$('#parent div:visible').hide()
于 2012-07-18T22:13:47.370 に答える
3

幸いなことに、次のものvisibleもあります。

$('#parent > :visible').hide();
于 2012-07-18T22:14:16.570 に答える
1

目的が可視要素を非表示にすることである場合、特にそれらを見つける意味はありません。代わりに、すべての潜在的な要素を無条件に非表示にすることができます。

$('#parent > div').hide();

表示されていた子 div が非表示になりました。すでに非表示になっているものは、引き続き非表示になります。

  • 1 つの点で、これは非効率的です。既に非表示になっている要素を非表示にします。
  • 別の点では効率的です。表示されている div を識別する労力を無駄にしません。

実際には、これと特定の非表示の間で選択することはあまりありません。どちらの場合も、すべての潜在的な要素をアドレス指定する必要があります - それらを読み取るか、それらに書き込むか、またはその両方を行います。

于 2012-07-18T22:44:29.167 に答える