2012-01-13 129 views
0

我有一個代碼是這樣的:使用jquery顯示多個隱藏divs?

<div id="specialDiv"> 
    <div id="div1"> 
    <div id="div2"> 
    </div> 
    </div> 
<div> 

的DIV1和DIV2爲了隱藏而現在,以顯示他們我做這樣的事情:

$('#div1').show(); 
$('#div2').show(); 

它的工作原理,但有沒有一個優雅的方式做到這一點以外

$('#speicalDiv div').show(); 

謝謝。

+3

如何是你的第一個解決方案不優雅?如果我是你,我就不會隱藏div2開始。你的第三個代碼片段在語法上也是不正確的。 – BiAiB 2012-01-13 16:09:16

+0

你對雅緻的定義是什麼?最少的代碼?大多數可讀?執行效率? – 2012-01-13 16:09:44

+1

或者你想要的東西是這樣的:$('#div1,#div2')。show() – BiAiB 2012-01-13 16:09:53

回答

0

$('#specialDiv div').show();將顯示全部div裏面#specialDiv

但是,您不必隱藏div的內部 - 隱藏父項就足夠了。

如果您只是想直接在#specialDiv(在您的案例中:)顯示div,您可以選擇使用#specialDiv > div

0

如果你想添加一個類的可隱藏的div,你可以參考在顯示()/隱藏()語句的類。

否則,您的方法看起來儘可能優雅。

0

將div放入類中。即

$('.toshow').show(); 

然後,它們可以在頁面上的任何地方,並且如果需要可以是除div之外的其它東西。

0

到了你已經提出類似,你可以這樣做:

$('#specialDiv div').show(); 

但更靈活的方法將是一個新的類名稱添加到您想要顯示的div:

<div id="specialDiv"> 
    <div id="div1" class"hidden"> 
    <div id="div2" class="hidden"> 
    </div> 
    </div> 
<div> 

然後告訴他們,像這樣:

$('#specialDiv .hidden').show();