如何修改此代码,以便可以删除每个表单元格
How can I modify this code so that each table cell can be deleted?
我有一个简单的任务管理器,用户可以在其中记录"toDos",但是,我不知道如何使它使用户可以删除已完成的任务。有什么建议吗?
var toDoSpace = document.getElementById("toDospace");
document.getElementById("addToDo").addEventListener('click', function addToDo()
{
var aToDo = document.getElementById("newToDo").value;
if(document.getElementsByTagName("tr").length == 18)
{
document.getElementById('message').innerHTML = 'To many todos!';
}
else if (aToDo === '')
{
document.getElementById('message').innerHTML = 'Cannot be empty!';
}
else
{
var row = document.createElement("tr");
toDoSpace.appendChild(row);
var cell= row.insertCell(0);
cell.innerHTML = aToDo;
document.getElementById("newToDo").value = '';
}
});
在最后一个 else 块中创建一个删除按钮并添加点击事件侦听器。在里面,你应该从你的toDoSpace中删除孩子
这是MDN https://developer.mozilla.org/en-US/docs/Web/API/Node/removeChild 的链接
正如Binvention所说,你只需要添加一个元素以及每一行,该元素都有一个点击侦听器,带有一个用于删除它所包含的父行的函数。我的编辑仅涉及创建第二个单元格并使用:
cellX.innerHTML = "X";
cellX.onclick = function(){ this.parentNode.remove() };
以删除放入它的父行。下面是未应用样式的完整工作示例:
var toDoSpace = document.getElementById("toDospace");
document.getElementById("addToDo").addEventListener('click', function addToDo()
{
var aToDo = document.getElementById("newToDo").value;
if(document.getElementsByTagName("tr").length == 18)
{
document.getElementById('message').innerHTML = 'To many todos!';
}
else if (aToDo === '')
{
document.getElementById('message').innerHTML = 'Cannot be empty!';
}
else
{
var row = document.createElement("tr");
toDoSpace.appendChild(row);
var cell= row.insertCell(0);
var cellX= row.insertCell(1);
cell.innerHTML = aToDo;
cellX.innerHTML = "X";
cellX.onclick = function(){ this.parentNode.remove() };
document.getElementById("newToDo").value = '';
}
});
<html>
<head>
</head>
<body>
<div >
<table id="toDospace">
</table>
<input type="text" id="newToDo"></input>
<button id="addToDo">Add ToDo</button>
</div>
</body>
</html>
相关文章:
- 如何从表格单元格中删除html的某些部分
- 如何阻止用户删除handontable中标题行中的单元格
- 如何删除包含包含某些数据的单元格的表行
- 根据活动单元格删除行
- 使用单元格中的电子邮件删除图纸中的“编辑访问权限”
- 如果找到第3行,则删除next和next tr的第3个单元格
- jQuery - 删除表格行(如果任何单元格包含介于 X 和 Y 之间的值)
- 如何修改此代码,以便可以删除每个表单元格
- 删除单元格不适用于直接选择的 trs
- 如何迭代具有特定img alt属性的表行并删除javascript中的单元格
- 从HTMLTableRowElement中的特定单元格获取子元素并隐藏/删除它们
- 删除后,更改单元格内文本框的id不工作
- 是否有可能替换一个表格单元格而不删除它与javascript或jQuery
- 使用JavaScript添加/删除单元格类
- 如何使用JavaScript删除表中的下一个单元格
- 选择/取消选择单元格时,添加/删除数组中的项目
- 从表中删除空单元格及其标签单元格
- 向由子元素事件触发的表单元格添加类/从中删除类
- Ajax从行中删除单元格,重新计算行,将单元格移动到下一行
- 如何使用jquery通过单击单元格来删除列