我的阵列有问题。我的阵列很少,我需要用特定编号将它们保存到本地存储中。
我要拿走所有物品,将其变成阵列,然后将它们保存到具有特定编号的本地存储中。首先是0,然后是1,依此类推。
有人可以帮我吗?谢谢
JS
let length = document.querySelectorAll(".item").length;
for(number = 0; number < length; number++){
console.log(number);
}
let items = document.querySelectorAll(".item").forEach(item => {
let product = [
{
name: item.children[0].children[1].innerHTML,
price: item.children[1].children[0].innerHTML,
value: item.children[0].children[0].value
}
]
localStorage.setItem(`product${number}`, JSON.stringify(product));
});
的HTML
<div class="item">
<div class="left"><input type="number" name="pieces" value="1" class="piece"> <p>Kelímek Jelen Extra</p></div><div class="right"><h3 class="price-i">699</h3><h3>Kč</h3> <i class="fas fa-times"></i></div>
</div>
<div class="item">
<div class="left"><input type="number" name="pieces" value="1" class="piece"> <p>Kelímek Jelen Extra</p></div><div class="right"><h3 class="price-i">699</h3><h3>Kč</h3> <i class="fas fa-times"></i></div>
</div>
<div class="item">
<div class="left"><input type="number" name="pieces" value="1" class="piece"> <p>Kelímek Jelen Extra</p></div><div class="right"><h3 class="price-i">699</h3><h3>Kč</h3> <i class="fas fa-times"></i></div>
</div>
您可以通过在foreach循环中使用index来获得期望的结果foreach循环返回当前项目的索引,该索引可用于按索引存储在本地存储中
解决方案:
let length = document.querySelectorAll(".item").length;
let items = document.querySelectorAll(".item").forEach((item,index) => {
let product = [
{
name: item.children[0].children[1].innerHTML,
price: item.children[1].children[0].innerHTML,
value: item.children[0].children[0].value
}
]
localStorage.setItem(`product${index}`, JSON.stringify(product));
});
结果:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句