GeezerVison is showing developer.mozilla.org — HTMLTableElement: insertRow() method - Web APIs | MDN
HTMLTableElement: insertRow() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
js
insertRow()
insertRow(index)
index Optional
-
The index of the new row in the rows collection. If index is -1 or equal to the number of rows, the row is appended as the last row. If index is omitted, it defaults to -1.
If rows is empty, the new row is appended to the last <tbody> element (one is created if there's none). Otherwise, the new row is inserted immediately before the row at index, or appended to the parent of the last row if the new row is to become the last row. The new row is inserted into the same parent as the reference row, so it can be inserted directly into the <table> or into any table sectioning element (<thead>, <tbody>, or <tfoot>).
IndexSizeError DOMException
-
Thrown if index is greater than the number of rows or smaller than -1.
html
<table id="my-table">
<tbody>
<tr>
<td>Row 1</td>
</tr>
<tr>
<td>Row 2</td>
</tr>
<tr>
<td>Row 3</td>
</tr>
</tbody>
</table>
js
function addRow(tableID) {
// Get a reference to the table
const tableRef = document.getElementById(tableID);
// Insert a row at the end of the table
const newRow = tableRef.insertRow(-1);
// Insert a cell in the row at index 0
const newCell = newRow.insertCell(0);
// Append a text node to the cell
const newText = document.createTextNode("New bottom row");
newCell.appendChild(newText);
}
// Call addRow() with the table's ID
addRow("my-table");