【发布时间】:2019-02-12 01:05:23
【问题描述】:
当我按下删除任务(x 符号)时出现问题它从 UI 中删除,然后去搜索本地存储以从那里删除它。从存储中删除的功能工作正常,我通过控制台检查了比较 UI 中的任务文本和来自本地存储的任务数组中的任务文本的唯一问题:它们是相同的,都是字符串,但它仍然没有'不起作用,当您重新加载页面时,任务仍在其上,并且没有从本地存储中删除
https://codepen.io/mokai2008/pen/jdxeXJ
// When click delete the task
taskList.addEventListener('click', removeTask);
function removeTask(e) {
if(e.target.classList.contains('remove')) {
if(confirm('Are You Sure?')) {
e.target.parentElement.remove();
// Remove from LS
removeTaskFromLocalStorage(e.target.parentElement);
}
}
}
// Remove from LS
function removeTaskFromLocalStorage(taskItem) {
let tasks;
if(localStorage.getItem('tasks') === null){
tasks = [];
} else {
tasks = JSON.parse(localStorage.getItem('tasks'));
}
tasks.forEach(function(task, index){
if(taskItem.textContent === task){
tasks.splice(index, 1);
}
});
localStorage.setItem('tasks', JSON.stringify(tasks));
}
【问题讨论】:
-
你调试了吗?
console.log(index, taskItem.textContent, task)