2010-02-05 144 views
1

我想顯示並隱藏正好位於body標籤下的div,而不是其他div標籤下的div。用jquery顯示/隱藏一級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調用。有沒有辦法做到這一點,而不必設置類名?

謝謝。

回答

11

這是爲眼前的孩子選擇一份工作:>

$('body > div').hide(); 
+0

對於任何人發現這稍後,這裏是這樣的問題的最佳選擇器資源:http://api.jquery.com/category/selectors/ – 2010-02-05 12:40:11

2

嘗試......

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

的「>」強制選擇停在只有直接DIV孩子body標籤並且不會深入到DOM中以選擇所有div元素。

2

$('body > div').hide();是去爲其他人已指出,但我只是想指出,使用children()方法也將工作,爲選擇一個元素的直接孩子的方式:

$('body').children('div');