gpt4 book ai didi

javascript - 在 div 中删除动态选项卡时至少有一个事件类

转载 作者:行者123 更新时间:2023-11-28 13:17:55 25 4
gpt4 key购买 nike

我会尽量具体。我有一个可以动态添加选项卡的导航栏,单击其他选项卡后,也可以通过单击关闭按钮删除这些其他选项卡。这是 Html:

<ul id="nav-tabs" data-tabs="tabs" >
<li id="test" class="active">
<a href="#home" data-toggle="tabs" >
<img src="assets/img/button_home_selected3.png" class="hover" width="83" />
<span>Home<button type="button" class="close">&times;</button></span>
</a>
</li>
</ul>

li 标签是动态添加和删除的,li 标签中的 active 类显示不同的图像,使标签可区分,因此 active 类在 li 标签之间切换。

关闭标签的脚本是:

$('.close').click(function(e) {
e.preventDefault();
var panelId = $(this).closest("li").remove().attr("aria-controls");
$("#tab" + panelId).remove();
});

即使用户删除了事件标签,我也只想要至少一个事件标签。目前,当我关闭事件标签时,没有事件类,使标签相似。

最佳答案

关闭标签时,取标签的索引。如果是最后一个,则将事件类添加到最后一个选项卡,如果是第一个,则第一个,如果是中间某处,则从关闭的选项卡的左侧或右侧取一个。

$(".close").on("click", function() {
var elem = $(this).closest("li");

if (elem.hasClass("active")) {
var idx = elem.index(),
remainingTabs = $("li");

if (idx <= remainingTabs.length) {
$(remainingTabs.get(idx - 1)).addClass("active");
} else if (idx == 0) {
$(remainingTabs.get(0)).addClass("active");
}
}

// remove current tab
$(".close", elem).unbind();
elem.remove();
}

关于javascript - 在 div 中删除动态选项卡时至少有一个事件类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14870706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com