Phương thức insertRow() của đối tượng HTMLTableElement tạo một hàng <tr> rỗng và chèn vào bảng tại vị trí index chỉ định. Trả về hàng vừa tạo (để tiếp tục thêm ô <td>/<th>).
Cú pháp
var newRow = tableElement.insertRow(index)
index: Vị trí chèn (0-based).index = -1hoặc bỏ qua = chèn vào cuối. Nếuindex> số hàng hiện có, chèn vào cuối.- Hàng mới được tạo **không có ô** — phải thêm
<td>hoặc<th>sau.
Ví dụ: Thêm hàng vào giữa bảng
<!DOCTYPE html>
<html>
<style>
body { color: #000; background: lightblue; height: 100vh; text-align: center; }
table { margin: 2rem auto; border-collapse: collapse; }
.btn { background: #db133a; border: none; height: 2rem; border-radius: 2px; width: 40%; display: block; color: #fff; outline: none; cursor: pointer; margin: 1rem auto; }
<body>
<h1>Demo: table.insertRow()</h1>
<table border="2" id="demoTable">
<tr><td>Tên</td><td>Mã SV</td></tr>
<tr><td>An</td><td>071717</td></tr>
<tr><td>Bình</td><td>031717</td></tr>
</table>
<button onclick="addRow()" class="btn">Thêm hàng ở giữa</button>
<script>
function addRow() {
var table = document.getElementById('demoTable');
var row = table.insertRow(1); // Chèn sau hàng 0 (trước hàng "An")
row.innerHTML = "<td>Cường</td><td>081717</td>";
}
</script>
</body>
</html>
Kết quả:
- Ban đầu: 3 hàng.
- Sau nhấn nút: Hàng "Cường | 081717" xuất hiện ở vị trí thứ 2 (index 1), đẩy "An" xuống.
insertRow()trêntablechèn vào toàn bảng (thead/tbody/tfoot).- Để chèn vào
tbodycụ thể:table.tBodies[0].insertRow(index). - Hàng chèn vào sẽ kế thừa style của bảng.
deleteRow(index): Xóa hàng.insertCell()(trên hàng): Thêm ô.deleteCell()(trên hàng): Xóa ô.
Thêm ô (cell) vào hàng mới
Sau insertRow(), dùng row.insertCell() hoặc row.innerHTML:
var row = table.insertRow(-1); // Thêm cuối var cell1 = row.insertCell(0); cell1.textContent = "Dũng"; var cell2 = row.insertCell(1); cell2.textContent = "091717";