0

動的に生成されるdivのリストがあり、次のようになります

<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を再表示できるようにする機能です。

これで、通常、クラスの場合、$('。Foo')。show();に移動します。そしてそれらはすべて表示されます。

ただし、次のことは機能しません。

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

これは、jQueryによってすべてを非表示にしてから個々のアイテムを表示することを許可されているものですか?それとも私はこれについて間違っているのですか?

4

4 に答える 4

2

問題は、非表示のままになっている親コンテナを非表示にしていることです。

代わりに「バー」を非表示にしてみてください

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

その後$("something1").show()

于 2012-07-27T15:54:37.197 に答える
1

クラスfooで親divを非表示にしています。したがって、代わりにそのdivを表示する必要があります。

$("#Something1").parent().show(); 
于 2012-07-27T15:54:51.840 に答える
1

それ以外の:

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

そのはず:

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

そして、次の方法で1つ再開します。

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

親コンテナを非表示にしてから、その子の1つを開こうとしたため、それを見ることができませんでした。

于 2012-07-27T15:59:11.367 に答える
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();
});
于 2012-07-27T15:57:52.873 に答える