javascript - 字符串化对象时,JSON 将元素节点转换为对象?

标签 javascript html json dom stringify

我正在做一个小个人项目,但遇到了一个问题。

我需要每个 day 对象来保存各种 dom 元素对象。这些对象实例存储在一个数组中,然后该数组需要存储到 localStorage 中以便稍后加载。

问题是当我执行 JSON.stringify 然后 JSON.parse 时,它​​会将 HTML 节点转换为对象。因此,当我尝试附加元素时,它告诉我第一个参数不是节点。

function save() {

        localStorage.days = JSON.stringify(global.days); 
        localStorage.numberOfDays = global.numberOfDays;
        localStorage.totalCount = global.totalCount;

    }

    function load() {

        var parsedDays = JSON.parse(localStorage.days);
        parsedDays.forEach(function(day){

            document.getElementById("mainPage").appendChild(day.textObject);

        });

有人知道如何将包含元素的对象数组放入 localStorage 中,同时保持其节点类型???

最佳答案

如果您尝试对 dom 节点进行字符串化,那么它将返回“{}”。因此不可能存储节点,因为它位于本地存储中。

您可以做的是将有关节点的信息存储在 localstorage 中,并根据该信息重新创建节点并将其添加到您的 dom 中。

关于javascript - 字符串化对象时,JSON 将元素节点转换为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32331609/

相关文章:

javascript - 判断我的选择是否包含任何现有元素的正确方法

javascript - 为什么我生成的图像没有根据我的鼠标光标设置它们的位置?

javascript - React JS 在另一个组件内调用函数

javascript - 如何使 Chrome 浏览器崩溃?

javascript - 在 HTML5 中录制在 Firefox 中不起作用

php - 在 PHP 5.2 之前替代 json_decode

javascript - 如何设置大小调整器的样式

android - CSS "display:block"不适用于 Chrome for Android

javascript - 搜索建议 html 输入

json - 需要使用url参数在Golang中查询Json数据