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

Posted

技术标签:

【中文标题】jQuery 选择与其他人共享类的单个 Div【英文标题】:jQuery select a single Div that shares class with others 【发布时间】:2014-04-25 18:57:50 【问题描述】:

我真的希望你能帮助我,因为我搜索了其他几个问题,但没有解决方案对我有帮助。问题是:我正在构建一个投资组合网站,单击一个 div 会打开一个更大的 div,其中包含更多信息。那些较小的 div 共享同一个类 - 我如何告诉 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】:

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

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

例如

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

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

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

【讨论】:

以上是关于jQuery 选择与其他人共享类的单个 Div的主要内容,如果未能解决你的问题,请参考以下文章

如何将绘图仪表板应用程序导出到 html 独立文件以与其他人共享?

Jquery根据用户输入选择包含多个类的元素[重复]

github设置仓库可见性 私人仓库设置他人协作/可见

If-else语句基于先前的活动选择来获取共享偏好

“与其他人相比,退休后的程序员,不会遇到太多经济困难”

如何共享 Superset 仪表板或图表?