Javascript 如何使用jquery将字符串中的数字增加1
我正在使用一个jquery插件,它可以创建选项卡来导航,除了最后一个硬编码的选项卡外,所有的选项卡都是动态加载的。我仍然希望像往常一样导航,以便tab在+1之前需要有选项卡的id 以下是使选项卡工作的两个元素:Javascript 如何使用jquery将字符串中的数字增加1,javascript,jquery,html,Javascript,Jquery,Html,我正在使用一个jquery插件,它可以创建选项卡来导航,除了最后一个硬编码的选项卡外,所有的选项卡都是动态加载的。我仍然希望像往常一样导航,以便tab在+1之前需要有选项卡的id 以下是使选项卡工作的两个元素: <a href="#step-10" class="nav-link">Vul je keuze aan</a> <div id="step-10" class="" style=""> 例如,如上所述,有10个步骤/选项卡,那么硬编码的步骤需要
<a href="#step-10" class="nav-link">Vul je keuze aan</a>
<div id="step-10" class="" style="">
例如,如上所述,有10个步骤/选项卡,那么硬编码的步骤需要有:
<a href="#step-11" class="nav-link">Vul je keuze aan</a>
<div id="step-11" class="" style="">
我该怎么做?我不能将其解析为一个数字并增加一,因为该数字与
步骤-
一起位于一个字符串中。如何从该字符串中删除数字、增加数字并将新数字放回?回答此问题<代码>如何从该字符串中删除数字、增加数字并将新数字放回?
假设我将id分配给一个变量
var id = "step-11"
var splittedId = id.split("-"); //["step", "11"]
var no = parseInt(splittedId[1]); // 11
var step = splittedId[0]; // "step"
var newId = step+"-"+(++splittedId[1]); // "step-12"
您可以做的一件事是将id为的所有div像
step-
一样计数,然后像下面的代码一样将此计数+1
const test = document.querySelectorAll("div[id*='step-']");
document.getElementsByClassName('testclass')[0].id='step-'+(test.length+1)
您可以使用正则表达式来解析字符串并检索整数值。但是,使用增量
id
属性通常是一种反模式,因为它会产生超出必要的工作量(如本例所示),并使维护更加困难。我强烈建议您放弃id
,在单击a
时使用DOM遍历方法查找相关元素-在这种情况下next('div')
您的harcoded/fixed选项卡的另一种选择是根本不给它编号:谢谢,我用上面的代码修复了它。我仍然不得不再次添加-
,因为它被拆分了。