localStorage 始终在一个键中设置值
localStorage sets value in one key all the time
我创建了一个将 data- 属性设置到 localStorage 的函数。但它始终只将值设置在同一个键中,导致只有一个键。如何解决这个问题。
下面给出了一个简单的 localStorage 示例。
window.addEventListener('load', function() {
console.log('All assets are loaded');
localStorage.clear();
})
function fun(id) {
localStorage.setItem(id.getAttribute('data-date'), "tasks from " + id.getAttribute('data-date'));
var x = localStorage.getItem(id.getAttribute('data-date'));
document.getElementById("pop").innerHTML = x;
console.log(id.getAttribute('data-date'));
for (var i = 0; i < localStorage.length; i++) {
console.log(i + " HAS " + localStorage.getItem(localStorage.key(i)));
}
}
* {
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.644);
}
div {
margin: 10px;
display: block;
font-size: 20px;
}
.a {
padding: 4vw;
display: inline-block;
}
<div class="a" onclick="fun(this)" data-date="1">1st day</div>
<div class="a" onclick="fun(this)" data-date="2">2nd day</div>
<div class="a" onclick="fun(this)" data-date="3">3rd day</div>
<div>inside the popup: </div>
<div id='pop'>tasks comes here </div>
如果每个值都进入同一个键,您可能还没有从函数中的元素读取唯一的 data- 属性。
我创建了一个将 data- 属性设置到 localStorage 的函数。但它始终只将值设置在同一个键中,导致只有一个键。如何解决这个问题。
下面给出了一个简单的 localStorage 示例。
window.addEventListener('load', function() {
console.log('All assets are loaded');
localStorage.clear();
})
function fun(id) {
localStorage.setItem(id.getAttribute('data-date'), "tasks from " + id.getAttribute('data-date'));
var x = localStorage.getItem(id.getAttribute('data-date'));
document.getElementById("pop").innerHTML = x;
console.log(id.getAttribute('data-date'));
for (var i = 0; i < localStorage.length; i++) {
console.log(i + " HAS " + localStorage.getItem(localStorage.key(i)));
}
}
* {
box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.644);
}
div {
margin: 10px;
display: block;
font-size: 20px;
}
.a {
padding: 4vw;
display: inline-block;
}
<div class="a" onclick="fun(this)" data-date="1">1st day</div>
<div class="a" onclick="fun(this)" data-date="2">2nd day</div>
<div class="a" onclick="fun(this)" data-date="3">3rd day</div>
<div>inside the popup: </div>
<div id='pop'>tasks comes here </div>
如果每个值都进入同一个键,您可能还没有从函数中的元素读取唯一的 data- 属性。