function renderData() { let tbody = document.querySelector('tbody'); tbody.innerHTML = ''; contacts.forEach((contact, index) => { let tr = document.createElement('tr'); tr.innerHTML = ` <td>${contact.name}</td> <td>${contact.phone}</td> <td>${contact.email}</td> <td> <button class="edit-btn" data-index="${index}">编辑</button> <button class="delete-btn" data-index="${index}">删除</button> </td> `; tbody.appendChild(tr); }); } // 点击编辑或删除按钮 document.querySelector('tbody').onclick = function(event) { let target = event.target; let index = target.getAttribute('data-index'); if (target.classList.contains('edit-btn')) { showModal('edit', index); } else if (target.classList.contains('delete-btn')) { contacts.splice(index, 1); renderData(); } };帮我添加确认删除提示
时间: 2023-07-14 17:13:12 浏览: 55
好的,可以在删除按钮的点击事件中添加确认弹窗提示,代码如下:
```
// 点击编辑或删除按钮
document.querySelector('tbody').onclick = function(event) {
let target = event.target;
let index = target.getAttribute('data-index');
if (target.classList.contains('edit-btn')) {
showModal('edit', index);
} else if (target.classList.contains('delete-btn')) {
if (confirm('确定要删除该联系人吗?')) {
contacts.splice(index, 1);
renderData();
}
}
};
```
这里使用了 JavaScript 内置的 `confirm` 函数来弹出确认弹窗,并根据用户的选择执行删除操作或取消操作。
相关问题
function renderData() { let tbody = document.querySelector('tbody'); tbody.innerHTML = ''; contacts.forEach((contact, index) => { let tr = document.createElement('tr'); tr.innerHTML = ` <td>${contact.name}</td> <td>${contact.phone}</td> <td>${contact.email}</td> <td> <button class="edit-btn" data-index="${index}">编辑</button> <button class="delete-btn" data-index="${index}">删除</button> </td> `; tbody.appendChild(tr); }); }帮我添加一个确认是否删除的提示
好的,可以在删除按钮的点击事件中添加确认提示框。可以按照如下代码进行修改:
```
function renderData() {
let tbody = document.querySelector('tbody');
tbody.innerHTML = '';
contacts.forEach((contact, index) => {
let tr = document.createElement('tr');
tr.innerHTML = `
<td>${contact.name}</td>
<td>${contact.phone}</td>
<td>${contact.email}</td>
<td>
<button class="edit-btn" data-index="${index}">编辑</button>
<button class="delete-btn" data-index="${index}">删除</button>
</td>
`;
tbody.appendChild(tr);
});
// 为删除按钮添加点击事件
let deleteBtns = document.querySelectorAll('.delete-btn');
deleteBtns.forEach((btn) => {
btn.addEventListener('click', (e) => {
let index = e.target.dataset.index;
let contact = contacts[index];
if (confirm(`确定要删除 ${contact.name} 吗?`)) {
contacts.splice(index, 1);
renderData();
}
});
});
}
```
这样,当用户点击删除按钮时,会弹出一个确认提示框,询问用户是否确定删除该联系人。如果用户点击确认按钮,则执行删除操作;否则,不执行任何操作。
html中var trs = document.querySelector('tbody').querySelectorAll('tr')
这段代码的作用是获取 HTML 页面中 `<tbody>` 元素中所有的 `<tr>` 元素,并将它们保存在一个名为 `trs` 的变量中。
具体来说,这段代码首先使用 `document.querySelector('tbody')` 获取页面中第一个 `<tbody>` 元素,然后使用 `querySelectorAll('tr')` 方法获取该元素下所有的 `<tr>` 元素,并将它们保存在一个名为 `trs` 的变量中。可以使用 `for` 循环遍历 `trs` 数组中的每个元素,对它们进行操作。例如:
```
var trs = document.querySelector('tbody').querySelectorAll('tr');
for (var i = 0; i < trs.length; i++) {
// 对 trs[i] 进行操作
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
var as = document.querySelectorAll('a'); for (var i = 0; i < as.length; i++) { as[i].onclick = function() { tbody.removeChild(this.parentNode.parentNode) } var subject = document.querySelector('.subject'); var name = document.querySelector('.name'); var score = document.querySelector('.score'); var info = document.querySelector('.info'); var tbody = document.querySelector('tbody'); var arr = []; info.addEventListener('submit', function (e) { e.preventDefault(); var obj = { name: name.value, subject: subject.value, score: score.value, } arr.push(obj); this.reset(); for (var i = 0; i < arr.length; i++) { var tr = document.createElement('tr'); tr.innerHTML = ${arr[i].name} ${arr[i].subject} ${arr[i].score} 删除 <button onclick="moveUp(this)">上移</button> <button onclick="moveDown(this)">下移</button> ; } tbody.appendChild(tr); }) 为什么录入name显示undef
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
h1>学生信息表格 <form class="info" autocomplete="off"> 姓名:<input type="text" class="uname" name="uname" /> 科目<input type="text" class="subject" name="subject" /> 成绩:<input type="text" class="score" name="score" /> <button class="add">录入</button> </form> 姓名 科目 成绩 操作 操作 <script> var data = [{ uname: '张三', subject: 'JavaScript', score: 100 }, { uname: '李四', subject: 'JavaScript', score: 90 }, { uname: '刘五', subject: 'JavaScript', score: 90 }]; var tbody = document.querySelector('tbody'); for (var i = 0; i < data.length; i++) { var tr = document.createElement('tr'); tbody.appendChild(tr); for (var k in data[i]) { var td = document.createElement('td'); td.innerHTML = data[i][k]; tr.appendChild(td); } var td = document.createElement('td'); td.innerHTML = '<a href="javascript:;">删除 </a>'; tr.appendChild(td); var td = document.createElement('td'); td.innerHTML = <button onclick="moveUp(this)">上移</button> <button onclick="moveDown(this)">下移</button> ; tr.appendChild(td); } var uname = document.querySelector('.uname'); var subject = document.querySelector('.subject'); var score = document.querySelector('.score'); var info = document.querySelector('.info'); var tbody = document.querySelector('tbody'); var arr = []; info.addEventListener('submit', function (e) { e.preventDefault(); var obj = { uname: uname.value, subject: subject.value, score: score.value, } arr.push(obj); this.reset(); for (var i = 0; i < arr.length; i++) { var tr = document.createElement('tr'); tr.innerHTML = ${arr[i].uname} ${arr[i].subject} ${arr[i].score} 删除 <button onclick="moveUp(this)">上移</button> <button onclick="moveDown(this)">下移</button> ; } tbody.appendChild(tr); }) var as = document.querySelectorAll('a'); for (var i = 0; i < as.length; i++) { as[i].onclick = function() { tbody.removeChild(this.parentNode.parentNode) } function moveUp(btn) { var row = btn.parentNode.parentNode; var prevRow = row.previousElementSibling; if (prevRow) { row.parentNode.insertBefore(row, prevRow); } else { row.parentNode.appendChild(row); } } } function moveDown(btn) { var row = btn.parentNode.parentNode; var nextRow = row.nextElementSibling; if (nextRow) { row.parentNode.insertBefore(nextRow, row); } else { var firstRow = row.parentNode.firstElementChild; row.parentNode.insertBefore(row, firstRow); } } </script>怎么用数组索引上下移动行
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)