2

別の div タグの下にあるものではなく、body タグのすぐ下にある div を表示および非表示にしたいと思います。

たとえば、次のコードでは、jquery div1 と div2 を非表示にしたいのですが、div1A、div1B、div2A、div2B は非表示にしたくありません。div1 を非表示にすると、div1A と div1B が非表示になることがわかっています。

<body>
   <div id="div1">
       <div id="div1A"></div>
       <div id="div1B"></div>
   </div>
   <div id="div2">
       <div id="div2A"></div>
       <div id="div2B"></div>       
   </div>
</body>

$("div").hide(); を実行すると、それが必要になります。そして $("div1").show(); $("div").hide(); であるため、div1A と div1B はまだ非表示です。それらを非表示にしますが、$("div1").show(); それらには影響しません。

$("body div"). hide(); で試しました ただし、 $("div").hide(); と同じ効果がありました。

div1 と div2 のみを非表示にする jquery 呼び出しが必要です。クラス名を設定せずにこれを行う方法はありますか?

ありがとう。

4

3 に答える 3

11

これは、直接の子セレクターのジョブです。>

$('body > div').hide();
于 2010-02-05T12:37:09.353 に答える
2

これを試して...

$("body > div").hide();

「>」は、body タグの直接の div の子のみで選択を強制的に停止し、すべての div 要素を選択するために DOM を掘り下げることはありません。

于 2010-02-05T12:38:01.607 に答える
2

$('body > div').hide();children()他の人がすでに指摘したように行く方法ですが、要素の直接の子を選択するため、メソッドを使用しても機能することを指摘したかっただけです。

$('body').children('div');
于 2010-02-05T12:42:23.643 に答える