在JavaScript中,动态地向<tr>
(表格行)中添加<td>
(表格单元格)是一个常见的操作,通常用于根据数据动态生成表格内容。以下是基础概念、优势、应用场景以及示例代码:
以下是一个简单的示例,展示如何使用JavaScript动态地向<tr>
中添加<td>
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dynamic Table</title>
</head>
<body>
<table id="myTable" border="1">
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</table>
<button onclick="addRow()">Add Row</button>
<script>
function addRow() {
// 获取表格
var table = document.getElementById("myTable");
// 创建一个新的行
var row = table.insertRow(-1); // 在表格末尾插入新行
// 创建单元格并添加内容
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = "New Name";
cell2.innerHTML = "New Age";
// 或者使用createElement和appendChild
/*
var row = document.createElement("tr");
var cell1 = document.createElement("td");
var cell2 = document.createElement("td");
cell1.textContent = "New Name";
cell2.textContent = "New Age";
row.appendChild(cell1);
row.appendChild(cell2);
table.appendChild(row);
*/
}
</script>
</body>
</html>
DocumentFragment
)来批量添加行,减少重绘和回流。function addMultipleRows(data) {
var table = document.getElementById("myTable");
var fragment = document.createDocumentFragment();
data.forEach(function(item) {
var row = document.createElement("tr");
var cell1 = document.createElement("td");
var cell2 = document.createElement("td");
cell1.textContent = item.name;
cell2.textContent = item.age;
row.appendChild(cell1);
row.appendChild(cell2);
fragment.appendChild(row);
});
table.appendChild(fragment);
}
通过以上方法,可以有效地动态向表格中添加行,并解决常见的性能问题。
没有搜到相关的文章