Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5显示具有特定内容的localStorage元素_Javascript_Html_Local Storage - Fatal编程技术网

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那么我如何编码它呢?我需要显示所有具有特定内容的元素。