稍微复杂一些的jQuery Travsersing问题

问题描述 投票:0回答:3

我有一个页面显示搜索结果,并具有如下所示的DOM:

div.mcoupdisplay
    div.mcoup //search result 1
            div.lcoup
        div.rcoup
            div.rcoupmeta
                a.rcoupedit
                a.rcoupdelete
        div.updcoup
        div.delcoup
    div.mcoup //search result 2
        div.lcoup
        div.rcoup
            div.rcoupmeta
                a.rcoupedit
                a.rcoupdelete
        div.updcoup
        div.delcoup

我目前隐藏了所有div.updcoup和div.delcoup,并使用以下jQuery添加slideToggle功能:

$('div.delcoup').hide();
$('a.rcoupdelete').click(function () {
    $(this).closest('div.mcoup').find('div.delcoup').slideToggle(400);
    $('div.updcoup').slideUp(400);
    $('div.crecoup').slideUp(400);
    return false;
});

$('div.updcoup').hide();
$('a.rcoupedit').click(function () {
    $(this).closest('div.mcoup').find('div.updcoup').slideToggle(400);
    $('div.delcoup').slideUp(400);
    $('div.crecoup').slideUp(400);
    return false;
});

说在搜索结果1中切换div.updcoup,然后在搜索结果2中切换div.updcoup。当在搜索结果2中切换div.updcoup时,如何滑动可见的div.updcoup搜索结果1?

jquery dom
3个回答
0
投票
您的问题对我来说不是很清楚,但请阅读以下内容:

我的问题是,哪种链最适合定位所有可见的div.updcoup和div.delcoup

您想要这个:

$('div.updcoup:visible, div.delcoup:visible').slideUp(400);


0
投票
您要从集合中删除一个项目吗?如果是这样,请执行以下操作:

var thisDelcoup = $(this).closest('div.mcoup').find('div.delcoup').slideToggle(400); $('div.delcoup').not(thisDelcoup).slideUp(400); $('div.updcoup').slideUp(400); $('div.crecoup').slideUp(400);


0
投票
我受到斯特拉格的评论启发。他还不在那里,最后一个可行的答案如下:

$('div.delcoup').hide(); $('a.rcoupdelete').click(function() { var thisDelcoup = $(this).closest('div.mcoup').find('div.delcoup'); $(this).closest('div.mcoup').find('div.delcoup').slideToggle(400); $('div.delcoup').not(thisDelcoup).slideUp(400); $('div.updcoup').slideUp(400); $('div.crecoup').slideUp(400); return false; }); $('div.updcoup').hide(); $('a.rcoupedit').click(function() { var thisUpdcoup = $(this).closest('div.mcoup').find('div.updcoup'); $(this).closest('div.mcoup').find('div.updcoup').slideToggle(400); $('div.delcoup').slideUp(400); $('div.updcoup').not(thisUpdcoup).slideUp(400); $('div.crecoup').slideUp(400); return false; });

感谢您对Strager的帮助!
© www.soinside.com 2019 - 2024. All rights reserved.