我知道我的头衔听起来很混乱,但请耐心等待......
我正在使用带标签的网络浏览器。在活动选项卡中,当我关闭其左侧和右侧的非活动选项卡时,我希望它保持活动状态。目前,我的代码仅在我打开两个选项卡时才有效,如果是第二个选项卡处于活动状态。如果第一个选项卡处于活动状态且我想关闭第二个选项卡,则第二个选项卡确实关闭,但第一个选项卡失去焦点。
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。
答案 0 :(得分:0)
使用detach
方法
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();
}
}