【发布时间】:2022-01-16 12:04:18
【问题描述】:
我正在构建一个简单的待办事项列表,并将使用拼接方法从列表中删除项目。我无法让它工作。我将拼接的项目带到控制台,因此我的删除按钮和我的删除功能之间的“连接”似乎有效。我也尝试了 slice 方法并且有效,但由于某种原因,splice 方法不起作用。下面是我用来将新项目推送到班级的数组、为新待办事项创建 HTML 的函数和删除项目函数。知道为什么拼接方法不起作用吗?
//ARRAY FOR NEW TODO ITEMS
let newTodo: Todo[] = [];
// FUNCTION THAT CREATES THE HTML FOR THE NEW TODO ITEM
let doneBtn = document.createElement("button");
function htmltask() {
let taskDiv = document.createElement("div");
taskDiv.innerHTML = "";
for (let i = 0; i < newTodo.length; i++) {
taskDiv.className = "taskDiv";
taskDiv.innerHTML = newTodo[i].todoItem;
let btnContainer = document.createElement("div");
btnContainer.className = "btnContainer";
// REMOVEBTN //
let removeBtn = document.createElement("button");
removeBtn.innerHTML = "REMOVE";
removeBtn.addEventListener("click", (e) => {
remove(e, i);
});
// DONEBTN //
let doneBtn = document.createElement("button");
doneBtn.innerHTML = "DONE";
doneBtn.className = "doneBtn";
newTaskDiv.appendChild(taskDiv);
taskDiv.appendChild(btnContainer);
btnContainer.appendChild(doneBtn);
btnContainer.appendChild(removeBtn);
}
localStorage.setItem("newTodo", JSON.stringify(newTodo));
}
// FUNCTION TO REMOVE ITEMS
function remove(e: Event, i: number) {
newTodo.splice(i, 1);
htmltask();
}
【问题讨论】:
标签: javascript splice