jQuery选择一个与其他人共享类的Div

时间:2014-03-19 13:29:23

标签: jquery class jquery-selectors parent-child

我真的希望你能帮助我,因为我搜索了其他几个问题,但没有任何解决方案可以帮助我。问题是:我正在建立一个投资组合网站,点击一个div打开一个更大的div与更多的信息。那些较小的div共享同一个类 - 我怎么能告诉jQuery只在div中添加一个带有'trigger'的类?

我的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 个答案:

答案 0 :(得分:1)

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

您通常应使用closest代替parent,因为它更能容忍DOM /布局更改。

e.g。

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

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

由于jQuery支持隐藏和显示,我建议使用其方法(hide / showfadeIn / fadeoutslideDown / {{1等等)。