Javascript 在表中添加新行并替换 ID

标签 javascript

我是一名业余编码员,并努力解决以下问题: 我得到了一个包含几行的表格元素,每行 3 个单元格。通过底部的按钮我想添加行。该表如下所示:

<table id="mytable">
  <tr id="line[0]"><td id="cellA[0]"</td><td id="cellB[0]"</td><td id="cellC[0]"</td></tr>
  <tr id="line[1]"><td id="cellA[1]"</td><td id="cellB[1]"</td><td id="cellC[1]"</td></tr>
  <tr id="line[2]"><td id="cellA[2]"</td><td id="cellB[2]"</td><td id="cellC[2]"</td></tr>
</table>

我用 elementbyID "line"循环,发现最后一行是 [2]。然后添加一个新行,如下所示:

var table = document.getElementById("mytable");
var row = table.insertRow(oldID + 1);
row.setAttribute("id","line["+ oldID + 1 + "]"); 

这很好用。

接下来,我通过 var lastLine = document.getElementById(oldID).innerHTML 获取最后一行的内容。现在,td ID 为 cellA[2]、cellB[2] 和 cellC[2]。我想用 [3] 替换它们。

我尝试了以下操作:

var oldVar = "[" + oldID + "]";
var newVar = "[" + oldID + 1 + "]";
var regex = new RegExp(oldVar, "g");
var neueLine = lastLine.replace(regex, newVar);

但这会产生类似“cellA[3][3]”、“cellB[3][3]”和“cellC[3][3]”的 id。

我觉得我有限的知识错过了执行此操作的假定方法。

非常感谢您的帮助!

最佳答案

您可以使用replaceAll

lastLine = lastLine.replaceAll("[" + oldID + "]","[" + (oldID+1) + "]")

关于Javascript 在表中添加新行并替换 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70376253/

相关文章:

javascript - 在 data() 函数和 v-model 中我应该做什么?

javascript - Mozilla 插件开发 : Accessing LAST USED or LAST CHANGED fields in password manger

javascript - 防止内容可编辑 div 中脚本注入(inject)的最佳方法

javascript - ReactJS - 销毁旧的组件实例并创建新的

javascript - 如何将 map 运算符用作mergeMap?

javascript - React 将焦点放在输入[类型 ="number"] 上,并进行条件渲染

JavaScript - AJAX 数据请求如何出现在 url 中?

javascript - 如何将样式表元素的值分配给变量?

javascript - 如何使用正则表达式解析这种格式(ICAO飞行计划备注)?

javascript - YUI:字符串可以,但是包含字符串的 var 不行?