在活动或非活动时获取最接近的下一个或上一个div

时间:2014-09-12 04:38:46

标签: jquery tabs

我知道我的头衔听起来很混乱,但请耐心等待......

我正在使用带标签的网络浏览器。在活动选项卡中,当我关闭其左侧和右侧的非活动选项卡时,我希望它保持活动状态。目前,我的代码仅在我打开两个选项卡时才有效,如果是第二个选项卡处于活动状态。如果第一个选项卡处于活动状态且我想关闭第二个选项卡,则第二个选项卡确实关闭,但第一个选项卡失去焦点。

if (tabCount > 1) {

    if ($(this).parent(".tab").hasClass("active")) {

        if (tab.next(".tab").length != null) { // if next tab exists
            tab.nextAll().first().addClass("active");
        } else { // select previous tab
            tab.prevAll().first().addClass("active");
        }

        $(this).parent(".tab").remove();

    } else {

        $(this).parent(".tab").remove();

    }

}

如果看到整个项目有助于任何人帮助我,那就在这里:https://github.com/IdeasNeverCease/Aries

1 个答案:

答案 0 :(得分:0)

使用detach方法

Jquery API Documentation

if (tabCount > 1) {
    //Caching for performance
    var $this = $(this);
    if ($this.parent(".tab").hasClass("active")) {
        //place all active tabs in a variable
        var activetabs = $this.parents(".tab.active").detach();
        //Empty tab parent div, and put the active tabs back in
         $this.parents(".tab").parent().empty().append(activetabs);            

    } else {

        $this.parent(".tab").remove();
    }

}