-1

すべて同じクラスで、自動的に生成された一意のIDを持つ非表示のdivのグループがあります。非表示のdivとまったく同じIDを持つサムネイルもあります。

clickedIdサムネイルをクリックすると、そのIDが次のように変数に保存されます。

var clickedId = $(this).attr("id");

しかし、私が理解できないのは、同じクリックで表示できるように、その特定のIDを持つ非表示のdivを見つける方法です。

これは、非表示にしないdivを示す関連HTMLです。

<div id="projectHolder">
   <div class="project-content" id="project-<?php echo $post->post_name;?>">                                
   <p>Div content</p>
   </div>

   <div class="project-content" id="project-<?php echo $post->post_name;?>">                                
   <p>Div content</p>
   </div>
</div>

私はこれのバリエーションを試しましたが、それらは主に私の推測です:

$('.project-content').find().each(function(){
if ($this.is(clickedId)).fadeIn(); 
});

私を正しい方向に向けるための提案はありますか?

4

3 に答える 3

4

クラスを使用した場合、次のようなことができます。

$(".project-content").click(function(){
  $('.project-content').not(this).fadeToggle();
});
于 2012-10-02T03:09:19.790 に答える
3

サムネイルがクリックされたときに対応して表示される要素のID(またはセレクター)を含むサムネイルのHTML5data-*属性を使用します。

<div data-open-target="#foo">...</div>

それで:

var clicked = $(this).data('open-target');
// later
$(clicked).fadeIn();
于 2012-10-02T03:08:56.493 に答える
1

テストされていませんが、うまくいくはずです。

$('#projectHolder').children("#" + clickedId).fadeIn();

また、前述のように、ページに重複するIDがないように、クラスに切り替えることを検討してください。

于 2012-10-02T03:10:54.237 に答える