猿问

如何使用 localStorage 存储和接收多个值

我正在尝试存储多个值,然后使用localStorage. 我想为每个具有类 id 的 div 生成一个随机数,然后存储随机数。但是,目前每个 div 都显示相同的值,但我希望每个类生成一个随机数并保存该数字。


html


<div class="id"></div>

<div class="id"></div>

<div class="id"></div>

JS


$('.id').each(function() {


var min = 5,

        max = 20,

    random = min + Math.floor(Math.random() * max);


var count;

  if(localStorage.getItem("ct")){

    count = localStorage.getItem("ct");

  } else {

    count = random;

  }


$(this).html(count);

localStorage.setItem("ct", count);


});


萧十郎
浏览 248回答 2
2回答

白衣非少年

您可以将索引附加到项目名称,以便每个 div 都有一个唯一的。$('.id').each(function(index) {var min = 5,&nbsp; &nbsp; &nbsp; &nbsp; max = 20,&nbsp; &nbsp; random = min + Math.floor(Math.random() * max);var count;&nbsp; if(localStorage.getItem("ct"+index)){&nbsp; &nbsp; count = localStorage.getItem("ct"+index);&nbsp; } else {&nbsp; &nbsp; count = random;&nbsp; }$(this).html(count);localStorage.setItem("ct"+index, count);});演示:https ://jsfiddle.net/rm6xhv1j/

子衿沉夜

一种选择是使用数组并对其进行字符串化,这会随着它变大而降低性能,因为您必须解析整个数组以对其进行修改,然后再次对其进行字符串化以将其存储回来。另一种选择是使用附加到密钥的数字,以便您希望存储的每个项目在本地存储中都有自己的位置。localStorage.setItem("item_"&nbsp;+&nbsp;number,&nbsp;valueToStore);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答