我正在尝试存储多个值,然后使用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);});
2 回答

白衣非少年
TA贡献1155条经验 获得超0个赞
您可以将索引附加到项目名称,以便每个 div 都有一个唯一的。
$('.id').each(function(index) {
var min = 5,
max = 20,
random = min + Math.floor(Math.random() * max);
var count;
if(localStorage.getItem("ct"+index)){
count = localStorage.getItem("ct"+index);
} else {
count = random;
}
$(this).html(count);
localStorage.setItem("ct"+index, count);
});
演示:https ://jsfiddle.net/rm6xhv1j/

子衿沉夜
TA贡献1828条经验 获得超3个赞
一种选择是使用数组并对其进行字符串化,这会随着它变大而降低性能,因为您必须解析整个数组以对其进行修改,然后再次对其进行字符串化以将其存储回来。
另一种选择是使用附加到密钥的数字,以便您希望存储的每个项目在本地存储中都有自己的位置。
localStorage.setItem("item_" + number, valueToStore);
添加回答
举报
0/150
提交
取消