2014-03-19 21 views
0

我真的希望你能帮助我,因为我通过其他几个问题搜索,但没有解决方案帮助我。问题是:我正在建立一个投资组合网站,点击一个div打开一个更大的div与更多的信息。那些较小的div共享同一个类 - 我如何能够告诉jQuery只在其中添加一个类到其中的“触发器”的类?jQuery选择与他人共享课程的单个Div

我的JavaScript看起来像这样:

$(document).ready(function() { 
$('#moreinfo').addClass('hidden'); 
$('.portfoliotile p').addClass('hidden'); 
$('.portfoliotile h1').addClass('hidden'); 

$('.trigger').click(function(){ 
      $('#moreinfo').removeClass('hidden'); 
      $(this).parent().addClass('dark'); 
     }); 

$('#closegall').click(function(){ 
      $('#moreinfo').addClass('hidden'); 
      $('.portfoliotile').removeClass('dark'); 
     }); 
}); 

我真的希望你能帮助我,随便看看THIS FIDDLE

回答

1

你想改变相对于这个为始祖,在处理程序中,这个是点击的元素:

您通常应该使用closest而不是parent,因为它更容忍DOM /布局更改。

例如

$(this).closest('.portfoliotile').addClass('dark'); 

的jsfiddle:http://jsfiddle.net/TrueBlueAussie/632Fw/164/

在jQuery支持隐藏和显示,我建议使用它的方法(hide/showfadeIn/fadeoutslideDown/slideUp等)。