在Web开发中,添加和删除带有按钮的行通常涉及到前端界面的交互设计。以下是一个基本的示例,展示了如何使用HTML、CSS和JavaScript来实现这一功能。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>动态表格</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div id="table-container">
<table id="dynamic-table">
<tr>
<th>名称</th>
<th>操作</th>
</tr>
<!-- 初始行 -->
<tr>
<td>项目1</td>
<td><button onclick="deleteRow(this)">删除</button></td>
</tr>
</table>
</div>
<button onclick="addRow()">添加新行</button>
<script src="script.js"></script>
</body>
</html>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
function addRow() {
const table = document.getElementById('dynamic-table');
const newRow = table.insertRow(-1); // 在最后插入新行
const cell1 = newRow.insertCell(0);
const cell2 = newRow.insertCell(1);
cell1.textContent = '新项目';
cell2.innerHTML = '<button onclick="deleteRow(this)">删除</button>';
}
function deleteRow(btn) {
const row = btn.parentNode.parentNode;
row.parentNode.removeChild(row);
}
document.getElementById('dynamic-table').addEventListener('click', function(event) {
if (event.target.tagName === 'BUTTON' && event.target.textContent === '删除') {
deleteRow(event.target);
}
});
通过这种方式,无论表格中有多少行,都只需要绑定一个事件监听器,从而提高效率并简化代码。
领取专属 10元无门槛券
手把手带您无忧上云