我是一名业余编码员,并努力解决以下问题: 我得到了一个包含几行的表格元素,每行 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/