Javascript HTML5显示具有特定内容的localStorage元素
我有以下代码:Javascript HTML5显示具有特定内容的localStorage元素,javascript,html,local-storage,Javascript,Html,Local Storage,我有以下代码: <script type="text/javascript"> for (i=0;i<localStorage.length;i++) { var key = localStorage.key(i); if(key == "5") { var value = localStorage.getItem(key);
<script type="text/javascript">
for (i=0;i<localStorage.length;i++)
{
var key = localStorage.key(i);
if(key == "5")
{
var value = localStorage.getItem(key);
document.write(value + "<br />");
}
}
</script>
对于(i=0;i您需要在迭代之前创建本地存储变量,当页面加载发生时,您的迭代代码将触发
window.localStorage.setItem("1", "AKSAHY");
window.localStorage.setItem("2", "John");
window.localStorage.setItem("3", "Manu");
window.localStorage.setItem("4", "Albert");
window.localStorage.setItem("5", "Mathew");
for (i=0;i<localStorage.length;i++)
{
var key = localStorage.key(i);
if(key == "5")
{
var value = localStorage.getItem(key);
alert(value + "<br />");
}
}
window.localStorage.setItem(“1”、“AKSAHY”);
window.localStorage.setItem(“2”,“John”);
window.localStorage.setItem(“3”,“Manu”);
window.localStorage.setItem(“4”,“Albert”);
window.localStorage.setItem(“5”,“Mathew”);
对于(i=0;i您需要在迭代之前创建本地存储变量,当页面加载发生时,您的迭代代码将触发
window.localStorage.setItem("1", "AKSAHY");
window.localStorage.setItem("2", "John");
window.localStorage.setItem("3", "Manu");
window.localStorage.setItem("4", "Albert");
window.localStorage.setItem("5", "Mathew");
for (i=0;i<localStorage.length;i++)
{
var key = localStorage.key(i);
if(key == "5")
{
var value = localStorage.getItem(key);
alert(value + "<br />");
}
}
window.localStorage.setItem(“1”、“AKSAHY”);
window.localStorage.setItem(“2”,“John”);
window.localStorage.setItem(“3”,“Manu”);
window.localStorage.setItem(“4”,“Albert”);
window.localStorage.setItem(“5”,“Mathew”);
对于(i=0;i鉴于LocalStorage(与所有基于密钥的存储系统一样)不允许多个元素具有相同的密钥,有一些解决方案:
将数组存储在单个键中,并在该数组上迭代。记住LocalStorage仅支持字符串,因此在写入/读取LocalStorage时必须进行字符串化/解析:
var elements = [],
elements[0] = {name: "Alpha"},
elements[1] = {name: "Beta"},
elements[2] = {name: "Gamma"};
// Save
localStorage.setItem(key,JSON.stringify(elements);
// Read
var elements = JSON.parse(localStorage.getItem(key));
使用“点表示法”路径作为键,并实现某种路径解析:
var elements = [],
elements[0] = {name: "Alpha"},
elements[1] = {name: "Beta"},
elements[2] = {name: "Gamma"},
elementsKey = 5;
// Save
for(var e = 0; e < elements.length; e ++) {
// Elements get stored in "5.0", "5.1", "5.2", …
var key = elementsKey + "." + e;
localStorage.setItem(key,JSON.stringify(elements[e]);
}
// Read
var baseKey = 5; // This is the "root" key to search for children
for (var e = 0; e < localStorage.length; e++) {
var key = localStorage.key(e);
var subKey = key.split(".").pop(); // this is the "sub" key for this children element
if(key.indexOf(baseKey) >= 0) {
var element = localStorage.getItem(key);
}
}
var元素=[],
元素[0]={name:“Alpha”},
元素[1]={name:“Beta”},
元素[2]={name:“Gamma”},
元素skey=5;
//拯救
对于(var e=0;e=0){
var元素=localStorage.getItem(键);
}
}
现在我不知道这些密钥中到底存储了什么,但这应该为您提供一个良好的起点。鉴于本地存储(因为所有基于密钥的存储系统)不允许多个元素具有相同的密钥,有一些解决方案:
将数组存储在单个键中,并在该数组上迭代。记住LocalStorage仅支持字符串,因此在写入/读取LocalStorage时必须进行字符串化/解析:
var elements = [],
elements[0] = {name: "Alpha"},
elements[1] = {name: "Beta"},
elements[2] = {name: "Gamma"};
// Save
localStorage.setItem(key,JSON.stringify(elements);
// Read
var elements = JSON.parse(localStorage.getItem(key));
使用“点表示法”路径作为键,并实现某种路径解析:
var elements = [],
elements[0] = {name: "Alpha"},
elements[1] = {name: "Beta"},
elements[2] = {name: "Gamma"},
elementsKey = 5;
// Save
for(var e = 0; e < elements.length; e ++) {
// Elements get stored in "5.0", "5.1", "5.2", …
var key = elementsKey + "." + e;
localStorage.setItem(key,JSON.stringify(elements[e]);
}
// Read
var baseKey = 5; // This is the "root" key to search for children
for (var e = 0; e < localStorage.length; e++) {
var key = localStorage.key(e);
var subKey = key.split(".").pop(); // this is the "sub" key for this children element
if(key.indexOf(baseKey) >= 0) {
var element = localStorage.getItem(key);
}
}
var元素=[],
元素[0]={name:“Alpha”},
元素[1]={name:“Beta”},
元素[2]={name:“Gamma”},
元素skey=5;
//拯救
对于(var e=0;e=0){
var元素=localStorage.getItem(键);
}
}
现在我不知道您在这些密钥中真正存储了什么,但这应该给您一个很好的起点。旁注:在HTML5中,
标记中的类型
属性是可选的,从您创建本地存储的位置开始,当加载页面本身时,将不会有任何本地存储,您确定您在本地存储中有密钥。Y您应该使用console.log(本地存储),或者如果您使用的是chrome,请查看开发者工具中的Resources选项卡。侧注:在HTML5中,
标记中的类型
属性是可选的,从您创建本地存储的位置开始,加载页面本身时将不会有任何本地存储,您确定您在本地存储中有密钥吗。您应该控制台.log(LocalStorage),或者如果您使用的是chrome,请查看开发者工具中的资源选项卡。谢谢!但我需要显示键为“5”的所有元素..对于您发送的代码,我只能显示一个键。LocalStorage应该具有Uniques键,那么如何使用同一个键存储两个不同的值如果要显示所有值,只需删除If条件即可发出警报it@AkshayJoy是正确的。不能有多个值使用同一个键。相反,可以用一个键保存一个数组对象。@sixFingers那么我如何编码呢?我需要显示所有具有特定内容的元素。谢谢!但我需要显示所有具有键“5”的元素..对于您发送的代码,我只能显示一个键。LocalStorage应该具有Uniques键,那么如何使用同一个键存储两个不同的值如果要显示所有值,只需删除If条件即可发出警报it@AkshayJoy是正确的。不能有多个值使用同一个键。相反,可以用一个键保存一个数组对象。@sixFingers那么我如何编码它呢?我需要显示所有具有特定内容的元素。