gpt4 book ai didi

javascript - 如何对待办事项进行本地存储?

转载 作者:行者123 更新时间:2023-11-28 18:10:30 25 4
gpt4 key购买 nike

我目前正在努力使[此处][1]所示的待办事项列表应用程序更好地工作。我已经完成了诸如更改字体之类的操作,但希望使用 Javascript cookie 来实现,以便用户的待办事项能够正确保存,并且在重新打开页面时仍然存在。

我现在需要的(我似乎不知道如何做)是 1. 浏览器保存数据和 2. 浏览器检索数据的部分。

任何帮助将不胜感激。

<body>
<!--To-Do Header, where you add tasks-->
<div id="myDIV" class="header">
<!--Change one: Make to-do list name different-->
<h2>To-Do</h2>
<input type="text" id="myInput" placeholder="Title..." style="padding-bottom: 20px;">
<span onclick="newElement();" class="addBtn">Add</span>
</div>
<!--To-do list-->
<ul id="myUL">

</ul>

var myNodelist = document.getElementsByTagName("LI");
var i;
for (i = 0; i < myNodelist.length; i++) {
var span = document.createElement("SPAN");
var txt = document.createTextNode("\u00D7");
span.className = "close";
span.appendChild(txt);
myNodelist[i].appendChild(span);
}
// Click on a close button to hide the current list item
var close = document.getElementsByClassName("close");
var i;
for (i = 0; i < close.length; i++) {
close[i].onclick = function() {
var div = this.parentElement;
div.style.display = "none";
};
}
// Add a "checked" symbol when clicking on a list item
var list = document.querySelector('ul');
list.addEventListener('click', function(ev) {
if (ev.target.tagName === 'LI') {
ev.target.classList.toggle('checked');
}
}, false);
// Create a new list item when clicking on the "Add" button
function newElement() {
var li = document.createElement("li");
var inputValue = document.getElementById("myInput").value;
var t = document.createTextNode(inputValue);
li.appendChild(t);
if (inputValue === '') {
alert("You must write something to create a task.");
} else {
document.getElementById("myUL").appendChild(li);
}
document.getElementById("myInput").value = "";
var span = document.createElement("SPAN");
var txt = document.createTextNode("\u00D7");
span.className = "close";
span.appendChild(txt);
li.appendChild(span);
for (i = 0; i < close.length; i++) {
close[i].onclick = function() {
var div = this.parentElement;
div.style.display = "none";
};
}
}

最佳答案

使用本地存储,因为它比 cookie 持续时间更长:

// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");

https://developer.mozilla.org/en/docs/Web/API/Window/localStorage

编辑:@MichaelMior 指出本地存储可能不会比 cookie 持续更长时间,但 cookie 是随浏览器请求一起发送的,因此在这种情况下是不必要的。

关于javascript - 如何对待办事项进行本地存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41703915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com