2012-07-27 26 views
0

我有動態生成的,看起來像下面jQuery的隱藏類節目個人格

<div class="Foo"> 
    <div class ="Bar" id ="Something{X}"> // Where {X} is a counter i.e "Something1" , "Something2" 
    <p>some stuff</p> 
    <form> 
    <input /> 
    </form> 
</div> 

現在,經過我動態生成類Foo我所有的div的我做了以下

$('.Foo').hide(); 
的div列表

這顯然隱藏了所有div,就像我期望的那樣。但是,我希望能夠點擊div上方的鏈接,以便您可以取消隱藏單個div。

現在通常對於一個班級我知道我只想去$('。Foo')。他們都會表現出來。

但是,執行以下操作不起作用。

$("#Something1").show(); 

這是jQuery允許隱藏所有內容然後顯示單個項目的東西嗎?或者我正在討論這個錯誤?

+0

你的HTML似乎缺少一個緊密的Div標籤(對於其中一個,很難說)。 – Chris 2012-07-27 15:56:51

回答

2

你的問題是你隱藏了隱藏的父容器。

試着隱藏你的 「酒吧」,而不是

$('.bar').hide();

然後$("something1").show()

1

你是隱藏與類Foo父DIV;因此,您需要顯示該div。

$("#Something1").parent().show(); 
0
<p class="showlink">Link to show</p> 
<div class="Foo"> 
    <div class ="Bar" id ="Something{X}"> // Where {X} is a counter i.e "Something1" , "Something2" 
    <p>some stuff</p> 
    <form> 
    <input /> 
    </form> 
</div> 

JS

$(".showlink").on('click', function() { 
    $(this).next('.Foo').show(); 
}); 
1

相反的:

$(".foo").hide(); 

它應該是:

$(".bar").hide(); 

,然後重新打開一個通過:

$("#Something1").show(); 

你隱藏父容器,然後試圖打開它的一個孩子,所以你看不到它。