【发布时间】:2023-04-11 12:05:02
【问题描述】:
基本上我有一个带有图像的页面 - 在每个图像下都有一个类似的按钮。当被点赞时,图片应该保存在localStorage上,然后显示在另一个页面上。
HTML 很简单(图像和按钮),如下所示:
<img data-name="img1" src="photos/photography.jpg" >
<button type="submit" data-name="img1">Click</button>
这是 jQuery。我正在尝试将喜欢的照片保存在数组中。
$('button').click((e) => {
const data = $(e.target).data();
let arr = $("img");
const item = arr.filter(v => v.name === data.name)
let cart = [];
try {
cart = localStorage.getItem('cart');
cart = JSON.parse(cart)
} catch (error) {}
cart.push(item)
localStorage.setItem('cart', JSON.stringify(cart));
})
在带有喜欢图像的页面上,我只是从本地存储中获取项目,但似乎没有任何反应。
如果你能告诉我我做错了什么,我想知道。提前致谢。
【问题讨论】:
-
你不会对购物车做任何事情,它有块范围顺便说一句......试试没有
'let -
^^^ 从
try中的cart中取出let。它正在创建一个在块之外不存在的较低范围的版本。 -
感谢您的编辑,我删除了它,但它仍然无法正常工作。
标签: javascript jquery html local-storage frontend