gpt4 book ai didi

javascript - 将列表从本地存储中的数组打印到 DOM

转载 作者:太空宇宙 更新时间:2023-11-04 15:48:25 29 4
gpt4 key购买 nike

我觉得我在这方面非常接近。

有一个 list ,我将其推送到阵列,并设置为本地存储。我想在重新实例化浏览器时从本地存储中重新打印列表

<script>

localStorage.clear();

var Array_ToDoList = [];
var toDoCount = 0;

$("#add-to-do").on("click", function(event) {
event.preventDefault();
var toDoTask = $("#to-do").val().trim();

Array_ToDoList.push(toDoTask)
localStorage.setItem("STR_Tasks", JSON.stringify(Array_ToDoList))

console.log(Array_ToDoList);

var toDoItem = $("<p>");
toDoItem.attr("id", "item-" + toDoCount);
toDoItem.append(" " + toDoTask);

var toDoClose = $("<button>");
toDoClose.attr("data-to-do", toDoCount);
toDoClose.addClass("checkbox");
toDoClose.append("✓");

toDoItem = toDoItem.prepend(toDoClose);
$("#to-dos").append(toDoItem);
$("#to-do").val("");
toDoCount++;
});

$(document.body).on("click", ".checkbox", function() {
var toDoNumber = $(this).attr("data-to-do");
$("#item-" + toDoNumber).remove();
Array_ToDoList.splice(toDoNumber, 1);
console.log(Array_ToDoList);
localStorage.setItem("STR_Tasks", JSON.stringify(Array_ToDoList))
});


var StoredToDos = Array_ToDoList.length;
for (var i = 0; i < StoredToDos; i++) {
$("#to-dos").append(localStorage.getitem(STR_Tasks[i]));
}

</script>

我知道我必须读取数组并重新打印,这可能与我存储的内容去字符串化有关。

最佳答案

根据我对字面代码的理解:

  1. 它是“localStorage.getItem”而不是“getitem”
  2. localStorage 中的 key 存储是“STR_Tasks”,它只是字符串,不是可迭代类型
  3. 我认为您应该将对象“todoItem”插入“Array_ToDoList”,然后将其插入“JSON.stringify”,然后存储到本地存储中

最后,你可以这样做:

var tasks = JSON.parse(localStorage.getItem("STR_Tasks"));
for (var i = 0; i < StoredToDos; i++) {
$("#to-dos").append(tasks[i]);
}

关于javascript - 将列表从本地存储中的数组打印到 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52960319/

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