-1

我有一组隐藏的 div,它们都具有相同的类,但具有唯一的自动生成的 ID。我也有与隐藏 div 具有完全相同 ID 的缩略图。

单击缩略图时,它的 ID 存储在变量中,clickedId如下所示:

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

在缩略图上使用HTML5data-*属性,该属性包含单击缩略图时应相应显示的元素的 ID(或选择器)。

<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 回答