2012-11-05 81 views
2

我想隱藏除一個div以外的完整div容器。隱藏除一個以外的所有div

因此,在啓動時只顯示div id「box_5」並隱藏其餘部分。 當我點擊按鈕1顯示一切,當我點擊按鈕2再次隱藏一切。

問題是當我隱藏「包裝」div它隱藏了一切包括。 ID = box_5。

我認爲問題是div是在包裝div內,但我不知道解決方法?

<button id="button_1">show</botton> 
<button id="button_2">hide</botton> 

<div id="wrapper"> 
<div id="box_1"></div> 
<div id="box_2"></div> 
<div id="box_3"></div> 
<div id="box_4"></div> 
<div id="box_5">always show this</div> 
<div id="box_6"></div> 
<div id="box_7"></div> 
<div id="box_8"></div> 
<div id="box_9"></div> 
<div id="box_10"></div> 
</div> 




$(document).ready(function() { 
    $('#wrapper').not(":eq(#box_5)").hide(); 
    $('id="button_1"').click(function() { 
     $('#wrapper').show(); 
     $('id="button_2"').click(function() { 
      $('#wrapper').not(":eq(#box_5)").hide(); 
     }); 

    }); 
+0

'$('id =「button_1」')' - >'$(「#button_1」)'??? –

+0

@KevinB:我改變了。謝謝! – Bastiaan

回答

10

變化

$('#wrapper').not(":eq(#box_5)").hide(); 

$('#wrapper').not("#box_5").hide(); 

注:刪除了eq選擇。 eq選擇器適用於索引,在您的情況下,您不需要eq選擇器,因爲您知道div的ID。

也請改變你的處理函數如下圖所示,

$('#button_1').click(function() { 
    $('#wrapper').show(); 
}); 

$('#button_2').click(function() { 
    $('#wrapper').not("#box_5").hide(); 
}); 
+0

感謝您的回答。結合亞歷克斯的答案,它幾乎可以工作。 – Bastiaan

2

添加你要隱藏你的選擇的元素,在這種情況下,「包裝」元素中的「格」元素。另外,修正了選擇器的其他一些格式。

$('#wrapper div').not("#box_5").hide(); 
    $("#button_1").click(function() { 
     $('#wrapper div').show(); 
    }); 
    $("#button_2").click(function() { 
     $('#wrapper div').not("#box_5").hide(); 
    }); 
+0

非常感謝!我是新手,找不到問題。 它的工作,但現在它隱藏在box_5的div? – Bastiaan

相關問題