使用jQuery查找匹配的ID

时间:2012-10-02 03:05:58

标签: jquery

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

点击缩略图时,它的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(); 
});

有任何建议指出我正确的方向吗?

3 个答案:

答案 0 :(得分:4)

如果您使用了课程,则可以执行以下操作:

$(".project-content").click(function(){
  $('.project-content').not(this).fadeToggle();
});

答案 1 :(得分:3)

在缩略图上使用HTML5 data-* attribute,其中包含单击缩略图时应相应显示的元素的ID(或选择器)。

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

然后:

var clicked = $(this).data('open-target');
// later
$(clicked).fadeIn();

答案 2 :(得分:1)

未经测试,但应该让你去。

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

另外,如前所述,考虑切换到类,以便页面上没有重复的ID。