我目前正在制作类似于Google Chrome的标签结构。我最近制作了一个“新标签”按钮和功能,添加了一个新选项卡。现在我的功能只创建一个标签。我的代码基于使用$(".tab-clickable").last().after()
将下一个标签元素放在HTML树中的位置。最后一个.tab-clickable
元素表示最近选项卡的最后一部分。
这是我的代码:https://codepen.io/lectrician1/pen/baOxdO
我最初使用.click
事件,但切换到.on
,因为我发现找到上次创建的标签时出现问题。所以我进行了调试测试,显然.on
不是问题,而是$(".tab-clickable").last().after()
。 但请记住,我的代码仍会创建一个标签,但只有一个标签。 我认为问题必须涉及找到刚刚在第一个标签中创建的最后一个.tab-clickable
元素。
答案 0 :(得分:1)
请在下次提出时,在问题中发布代码的相关部分,或修改帖子。
您正在使用最初设置为2的tabAmount
变量确定新标签的位置。但是,当您添加新标签时,您不会增加此变量。你的代码正在生成新标签,但它们只是放在彼此相同的位置。
您需要解决的问题是将tabAmount++
添加到函数的末尾(如果删除标记,则将其递减,或者每次从长度中取出)
答案 1 :(得分:0)
主要问题是您只在页面加载时检查tabAmount
。每次要添加另一个以获取更新计数时需要检查
移动:
var tabAmount = $(".tab-clickable").length;
进入
$("#button").on("click", function() {
var tabAmount = $(".tab-clickable").length;
// other code remains same