使用JavaScript删除HTML中的表tr

时间:2016-03-08 15:52:22

标签: javascript html html-table

我在JavaScript中创建了一个函数,它每分钟自动为表添加一行。它工作正常,除了我想删除表的第二行(因为第一行用于标题),如果有超过5行。我试过这段代码:

if(table.getElementsByTagName("tr").length > 5){
    table.getElementsByTagName("tr")[1].outerHTML = "";
}

问题是,当执行第二行时,我收到一条错误消息,指出“未知执行错误”。为什么这样做?有没有办法解决它?

如果重要的话,我正在使用HTA。

2 个答案:

答案 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中阅读有关表格对象的更多信息。