【发布时间】:2021-06-09 18:48:44
【问题描述】:
我最近开始在不依赖编码教程的情况下处理我的待办事项列表,这非常困难。我可以在我的列表中添加项目,但我无法删除项目。当我单击项目时,所有项目都会被删除。你能帮忙吗?
<fieldset>
<legend class="task-list-title">Goals that I need to work on</legend>
<input
id="inpKey"
type="text"
placeholder="add new goal"
aria-label="new list name"
<button type="button" id="btnInsert">New Goal</button>
<div id="task_list">
</div>
</fieldset>
JavaScript 代码
const inpKey = document.getElementById("inpKey");
const btnInsert = document.getElementById("btnInsert");
const task_list = document.getElementById("task_list");
btnInsert.onclick = function() {
const key = inpKey.value;
if(key) {
localStorage.setItem(key, inpKey.value);
location.reload();
}
}
for (let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
task_list.innerHTML += `${key}<br />`
}
task_list.onclick = function() {
for (let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
window.localStorage.removeItem(key);
task_list.innerHTML = key;
}
}
【问题讨论】:
-
我认为主要问题是很难找到单击了哪个列表项,因为您将列表存储为类似
abc<br/>xyz<br/>的字符串。现在当我们想删除 abc 并点击它时,实际上整个字符串都被点击了abc<br/>xyz<br/>,所以很难找到需要删除哪个 localStorage 键。
标签: javascript html dom local-storage