我有一个简单的问题,我想删除表格中的最后一行,我复制了一个删除已选中的行的函数:
function deleterow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=1; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
table.deleteRow(row);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
如何更改它,以便每次调用时只删除最后一行?谢谢大家的帮助!我真的很感激!
答案 0 :(得分:9)
deleteRow函数接受索引,将其传递给count - 1
。
http://jsfiddle.net/jbabey/HEDNZ/
function deleterow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
table.deleteRow(rowCount -1);
}
答案 1 :(得分:1)
function deleterow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.rows[rowCount - 1 ];
table.deleteRow(row);
}
答案 2 :(得分:0)
我没有对此进行测试,但我认为这样的事情应该有效:
function deleterow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var lastRow = table.rows[rowCount];
table.deleteRow(lastRow);
}catch(e) {
alert(e);
}
}
答案 3 :(得分:0)
我不确定rowCount是否对您有特殊意义。
用while迭代 - 让你先从后面开始。当你真正删除一个时,就休息一下。
function deleterow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var i = rowCount;
while(i--) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
table.deleteRow(row);
rowCount--;
break;
}
}
}catch(e) {
alert(e);
}
}
答案 4 :(得分:0)
为什么不使用:
function deleterow(tableID) {
var table = document.getElementById(tableID);
table.deleteRow(-1);
}
答案 5 :(得分:-1)
使用 table.deleteRow(ⅰ);
而不是
table.deleteRow(行); 希望这有效:)