写代码,第一行input框右边有新增按钮,点击新增按钮后,在他上面新增一行并且右边带删除按钮,此时最后一行有新增和删除按钮。点击最后一行删除按钮删除最后一行,此时第一行右边有新增按钮
时间: 2024-01-13 19:04:00 浏览: 132
好的,下面是一个简单的实现示例,使用 HTML、CSS 和 JavaScript 实现:
HTML 代码:
```html
<div id="container">
<div class="row">
<input type="text">
<button class="add-btn">新增</button>
</div>
</div>
```
CSS 代码:
```css
.row {
display: flex;
align-items: center;
}
input {
margin-right: 10px;
}
button {
margin-left: 10px;
}
```
JavaScript 代码:
```javascript
const container = document.getElementById("container");
const addBtns = container.querySelectorAll(".add-btn");
// 给每个新增按钮添加点击事件
addBtns.forEach((addBtn) => {
addBtn.addEventListener("click", () => {
// 在当前行上方插入新行
const newRow = document.createElement("div");
newRow.className = "row";
newRow.innerHTML = `
<input type="text">
<button class="delete-btn">删除</button>
<button class="add-btn">新增</button>
`;
container.insertBefore(newRow, addBtn.parentNode);
// 给新行的删除按钮添加点击事件
const deleteBtn = newRow.querySelector(".delete-btn");
deleteBtn.addEventListener("click", () => {
// 删除当前行
container.removeChild(newRow);
// 如果只剩下第一行,隐藏删除按钮
if (container.children.length === 1) {
const deleteBtn = container.querySelector(".delete-btn");
deleteBtn.style.display = "none";
}
});
// 如果当前行是最后一行,给当前行的新增按钮隐藏
if (addBtn === addBtns[addBtns.length - 1]) {
addBtn.style.display = "none";
}
});
});
```
这段代码实现了在第一行的右侧添加一个新增按钮,点击新增按钮后,在第一行的上方插入一行新的输入框和两个按钮,新行的右侧分别有一个删除按钮和一个新增按钮。如果当前行是最后一行,则隐藏当前行的新增按钮。如果删除了最后一行,第一行的右侧将重新显示新增按钮。
阅读全文