javascript - 检索多个值本地存储并在 div 元素中显示
问题描述
我想显示本地存储中所有数据的键及其值。
我写了一些 HTML 和 javascript:
// Setting some values in the local storage
localStorage.setItem("lastname", "Smith");
localStorage.setItem("lastname", "Orange");
localStorage.setItem("lastname", "Green");
localStorage.setItem("lastname", "Pink");
// Attempt to retrieve them
function allStorage() {
var archive = [],
keys = Object.keys(localStorage),
i = 0, key;
for (; key = keys[i]; i++) {
archive.push( key + '=' + localStorage.getItem(key));
}
document.getElementbyId("result").innerHTML = archive;
}
<div id="result"></div>
<button onclick="allStorage()">Show Local Storage</button>
有谁知道我在这里可能会出错?
据我所知:变量设置正确,因为它们可以在控制台中访问。但是,当我单击运行该功能时,窗口或控制台中没有任何反应。
我正在寻找的结果是:
lastnameSmithlastnameOrangelastnameGreenlastnamePink
定于<div id="result">
解决方案
试试这个,键名localStorage
应该是唯一的,否则它将覆盖这些值。
HTML
<div id="result"></div>
<button onclick="allStorage()">Show Local Storage</button>
JS
// Setting some values in the local storage
localStorage.setItem("lastname1", "Smith");
localStorage.setItem("lastname2", "Orange");
localStorage.setItem("lastname3", "Green");
localStorage.setItem("lastname4", "Pink");
// Attempt to retrieve them
function allStorage() {
var archive = [],
keys = Object.keys(localStorage),
i = 0, key;
for (; key = keys[i]; i++) {
archive.push( key + '=' + localStorage.getItem(key));
}
document.getElementById("result").innerHTML = archive;
}
推荐阅读
- java - Android Studio 解析 JSON 对象不起作用
- c++ - 使用 realloc 增加大小与创建更大的动态数组
- r - 来自导入包的“已覆盖注册的 S3 方法”消息
- api-gateway - 如何在微服务中实现 API 网关
- android-studio - 已指定命名参数“child”的参数
- face-recognition - 如何防止这种人脸识别错误?
- javascript - 如何在 React Native 应用程序中创建和管理 icalendar VEvent
- reactjs - 尝试访问公开可用的端点时,部署到 firebase 的 React-app 出现 cors 错误
- amp-html - AMP 表单 - 输入 [值] 不允许使用 concat() 函数
- mysql - 如何根据mysql中的值选择除较低值记录之外的记录?