您可以通过克隆现有行(和现有按钮)来创建新行。如果您希望第一行中按钮的行为与其他行不同,则需要在insRow函数中覆盖该更改的行为(正如您当前对输入ID所做的那样)。
尝试将代码更改为:
HTML:
...
1...JS:
function deleteRow(evt) {
var i = evt.target.parentNode.parentNode.rowIndex;
document.getElementById('POITable').deleteRow(i);
}
function insRow() {
var x = document.getElementById('POITable');
var new_row = x.rows[1].cloneNode(true);
var len = x.rows.length;
new_row.cells[0].innerHTML = len;
var inp1 = new_row.cells[1].getElementsByTagName('input')[0];
inp1.id += len;
inp1.value = '';
var inp2 = new_row.cells[2].getElementsByTagName('input')[0];
inp2.id += len;
inp2.value = '';
var button = new_row.cells[3].getElementsByTagName('input')[0];
button.value = "Delete row";
button.onclick = function(it) {deleteRow(it)};
x.appendChild( new_row );
}