【发布时间】:2021-09-26 05:05:19
【问题描述】:
可以帮我处理我的“待办事项列表”,我想念 smth 并且不明白它是什么,我的删除按钮工作正常,但重新加载页面后它停止工作。 这里是 HTML
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>To-Do List</title>
<link rel="stylesheet" href="to-do-style.css">
</head>
<body>
<div class="flex-header">
<h1 id="header">To-Do List</h1>
<input type="text" id="input-task">
<button id="add-task-button">ADD TASK</button>
</div>
<ul id="task-list">
</ul>
<script src="to-do.js"></script>
</body>
</html>
这里是JS
"use strict";
let ul = document.getElementById('task-list');
function loadtodos(){
let data = JSON.parse(localStorage.getItem('todos'));
if (data) {
ul.innerHTML = data;
}
}
loadtodos();
document.getElementById('add-task-button').addEventListener('click', function (){
let input = document.querySelector('#input-task');
let node = document.createElement("li");
node.classList.add('tip');
//mark complete/incomplete task
let confirm = document.createElement('input');
confirm.type = 'checkbox';
node.appendChild(confirm);
//task text
let spanNode = document.createElement('span');//task text
spanNode.classList.add('task');
spanNode.appendChild(document.createTextNode(input.value));
node.appendChild(spanNode);
//DELETE task
let deleteBtn = document.createElement('button');
deleteBtn.classList.add('delete-btn');
deleteBtn.textContent = 'X';
deleteBtn.addEventListener('click', function (){
node.parentNode.removeChild(node);
localStorage.setItem('todos', JSON.stringify(ul.innerHTML));
});
node.appendChild(deleteBtn);
//adding element to list
document.getElementById('task-list').appendChild(node);
//clear input
document.getElementById('input-task').value=null;
//saver
localStorage.setItem('todos', JSON.stringify(ul.innerHTML));
});
如果我理解正确,我需要一个“添加任务按钮”之外的函数,我尝试了 querySelector,但它只删除了 1 行,我不太明白如何使用 querySelectorAll 删除它,因为当我使用它,按钮根本不起作用。
【问题讨论】:
标签: javascript html json class local-storage