【发布时间】:2023-02-02 21:09:41
【问题描述】:
显然我正在尝试创建一个待办事项列表,当然我可以在其中添加和删除任务。添加任务工作正常;但是单击“完成”按钮可以工作,但不会执行我希望它执行的操作。基本上我有一个逻辑错误,但我不知道如何解决它。
代码
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<h1>To-Do List</h1>
<form id="todoForm">
<input id="todoInput" />
<button type="button" onclick="todoList()">New</button>
<button type="button" onclick="">Retrieve</button>
</form>
<ol id="todoList"></ol>
<script>
var todos = []; //Problem is from here
var removed = [];
function todoList() {
var item = document.getElementById("todoInput").value;
todos.push(item);
var text = document.createTextNode(item);
var newItem = document.createElement("li");
newItem.innerHTML = item + ' <button id="Done">Done</button>';
document.getElementById("todoList").appendChild(newItem);
const donebtn = document.getElementById("Done");
donebtn.addEventListener("click", function() {
removetodo(newItem, item)
});
}
function removetodo(item, tasktext) {
const tasklist = document.getElementById("todoList");
tasklist.removeChild(item);
removed.push(tasktext);
}
</script>
</body>
</html>
问题是,我尝试在谷歌和其他地方寻找解决方案;然而,我仍然不知道如何修复它。我不想只更改整个代码以使其正常工作。我特别想要它以我写的方式
【问题讨论】:
-
您的代码在哪些方面没有按预期工作?请详细说明您观察到的具体问题以及您进行了哪些调试。要了解有关此社区的更多信息以及我们如何为您提供帮助,请从tour 开始并阅读How to Ask 及其链接资源。
-
看不出任何错误。工作正常,完成按钮删除列表项
-
问题是完成按钮只适用于添加的第一个任务,每当我点击它时,它会删除所有其他任务,包括它自己。
标签: javascript html arrays list methods