我在JavaScript中创建了一个函数,它每分钟自动为表添加一行。它工作正常,除了我想删除表的第二行(因为第一行用于标题),如果有超过5行。我试过这段代码:
if(table.getElementsByTagName("tr").length > 5){
table.getElementsByTagName("tr")[1].outerHTML = "";
}
问题是,当执行第二行时,我收到一条错误消息,指出“未知执行错误”。为什么这样做?有没有办法解决它?
如果重要的话,我正在使用HTA。
答案 0 :(得分:1)
您可以按
获取行数var rowCount = document.getElementById("myTable").rows.length;
删除
if(rowCount > 5) {
document.getElementById("myTable").deleteRow(1); //deletes second row
}
答案 1 :(得分:1)
var table = document.getElementsByTagName('table')[0];
if (table.rows.length > 5) {
table.deleteRow(1);
}
<table>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr><td>6</td></tr>
</table>
(在Codepen上查看)。
table.rows
返回表格中所有<tr>
元素的集合。 length
是它的属性,它返回这些元素的数量。请参阅W3Schools的Table rows Collection。deleteRow
方法删除表的指定索引处的行。请参阅W3Schools的Table deleteRow() Method。您可以在W3Schools的HTML DOM Table Object中阅读有关表格对象的更多信息。