2

我想显示和隐藏body标签下的div,而不是另一个div标签下的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(); div1A 和 div1B 仍然隐藏,因为 $("div").hide(); 隐藏它们,但是 $("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 子项处停止,并且不会深入到 DOM 以选择所有 div 元素。

于 2010-02-05T12:38:01.607 回答
2

$('body > div').hide();正如其他人已经指出的那样,这是要走的路,但我只想指出,使用该children()方法也可以,因为它选择了元素的直接子元素:

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