javascript - 为什么刷新后无法删除localStorage数据?
问题描述
我正在使用 javascript 制作待办事项列表,并且在刷新页面时不会丢失待办事项。但是刷新后,我的 li 项目上的 X 按钮不起作用,无法删除它。有什么理由???在我添加 localStorage 之前,它曾经能够删除项目:/
HTML:
<div class="row">
<input id="userInput" type="text" placeholder="New item..." maxlength="190"autofocus>
<button id="enter" onclick="createListElement()">Add</button>
</div>
<div class="row" id="items">
<div class="listItems col-12">
<ul class="col-12 offset-0 col-sm-8 offset-sm-2">
</ul>
</div>
</div>
JS:
function createListElement() {
var li = document.createElement("li");
li.appendChild(document.createTextNode(input.value));
ul.appendChild(li);
let arr = getTasks();
arr.push(li.textContent);
localStorage.setItem('tasks', JSON.stringify(arr));
}
function addListAfterKeypress(event) {
if (input.value.length > 0 && event.which === 13) {
createListElement();
input.value = '';
}
}
input.addEventListener("keypress", addListAfterKeypress);
function getTasks() {
let tasks;
if (localStorage.getItem('tasks') === null) {
tasks = [];
} else {
tasks = JSON.parse(localStorage.getItem('tasks'));
}
return tasks;
}
window.addEventListener('DOMContentLoaded', () => {
let arr = getTasks();
let foo = '';
arr.forEach(item => {
foo += `<li>${item}<button>X</button></li>`;
});
ul.innerHTML = foo;
var li = document.createElement("li");
li.appendChild(document.createTextNode(input.value));
input.value = "";
var dBtn = document.createElement("button");
dBtn.appendChild(document.createTextNode("X"));
li.appendChild(dBtn);
dBtn.addEventListener("click", deleteListItem);
function deleteListItem(){
li.classList.add("delete");
}
});
function addListAfterClick(){
if (inputLength() > 0) {
createListElement();
}
}
解决方案
推荐阅读
- firebase - Flutter - 如何在 Firebase Firestore 上以正确格式存储长值?
- beautifulsoup - BeautifulSoup 从一个类中提取多个元素
- laravel - 尝试验证输入 laravel+vuejs 时方法 \UserController::sendError 不存在
- variables - 通过调用不同模块中的函数(带有按钮)为变量赋值
- javascript - 我在从 NestJS 上已导入的模块导入服务时遇到问题
- python - 在 ElementTree 中使用 XPath 查找嵌套元素
- python - 如何在 Django 中使用 post 方法处理表单?
- firebase - 将当前图像的 url 上传到 firestore 数据库时出现问题
- python - Unscented Kalman 滤波器中的负协方差矩阵
- typescript - 创建暴露给浏览器全局的 UMD 库