18910140161

JavaScript-如何将“div”列表保存到sessionStorage并在用户重新加载页面时显示它们?-堆栈溢出

顺晟科技

2022-10-19 12:52:06

224

我有一个HTML页面,如下所示:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="styles.css" type="text/css">
        <title>Test</title>
    </head>
    <body>
        <div>
            <p>Hello World!</p>
        </div>
    </body>
</html>

然后我有一个JS文件,它监听回车键的单击,如果用户单击回车键,则添加另一个div。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="styles.css" type="text/css">
        <title>Test</title>
    </head>
    <body>
        <div>
            <p>Hello World!</p>
        </div>
    </body>
</html>

我试图保存div的数量,因此当用户重新加载页面时,它显示的div数量与以前相同。

我尝试的

我尝试将所有div的数组保存到sessionStorage中,如下所示:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="styles.css" type="text/css">
        <title>Test</title>
    </head>
    <body>
        <div>
            <p>Hello World!</p>
        </div>
    </body>
</html>

我只是将其记录到控制台以查看值是什么,但它们是空的。因此,我尝试存储div.innerhtml,但是如果我试图将它追加到文档中,我得到的错误是它是一个字符串,而不是节点。


我没有想法,而且我对前端开发中的整个状态存储概念还很陌生,如果有人能告诉我什么是正确的方法,我将不胜感激。 谢谢!


顺晟科技:

我在这段代码中看到的问题是无法转换DOM元素。如何实现此目的的文章。

但是,更好的方法是保存某个容器的innerHTML,然后还原它。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="styles.css" type="text/css">
        <title>Test</title>
    </head>
    <body>
        <div>
            <p>Hello World!</p>
        </div>
    </body>
</html>

JS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="styles.css" type="text/css">
        <title>Test</title>
    </head>
    <body>
        <div>
            <p>Hello World!</p>
        </div>
    </body>
</html>

jsfiddle:https://jsfiddle.net/wlgh1ef8/1/

编辑: 您总是可以使用devtools

查看sessionStorage的内容

F12->应用程序选项卡->会话存储

未测试,但足以说明

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="styles.css" type="text/css">
        <title>Test</title>
    </head>
    <body>
        <div>
            <p>Hello World!</p>
        </div>
    </body>
</html>
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航