【发布时间】:2019-03-06 16:26:59
【问题描述】:
所以,基本上我有一个带有图像的页面(每个都有类似的按钮),应该在单击按钮后显示在另一个页面上。
这就是我将图像(在单击按钮后)放入数组的方式:
$('button').click(e => {
let likedImgs= JSON.parse(localStorage.getItem('cart') || '[]');
let itemName = $(e.target).data('name');
let item = $('img').filter(v => v.name === itemName);
likedImgs.push(item);
localStorage.setItem('likedImgs', JSON.stringify(likedImgs));
});
在我喜欢的照片的页面上:
<template>
<div id="isOutput"></div>
</template>
这就是我尝试将数组生成为 HTML 并将其显示为下一页上的图像的方式:
var myArr = JSON.parse(localStorage.getItem('likedImgs'));
function showContent () {
var temp, item, a, i;
temp = document.getElementsByTagName("template")[0];
item = temp.content.querySelector("div");
for (i = 0; i < myArr.length; i++) {
a = document.importNode(item, true);
a.textContent += myArr[i];
document.body.appendChild(a);
}
}
但这似乎不起作用。你能告诉我我做错了什么吗?
控制台返回对象数组,如下所示: 0: prevObject: 0: {} 1: {} 2: {} 3: {} 4: {} 5: {} 6: {} length: 7 prevObject: {0: {…}, length: 1} proto: Object proto: Object
【问题讨论】:
-
“这似乎不起作用”是什么意思?你真的在任何地方调用
showContent函数吗? -
您可以使用Stack Snippets 将所有相关代码包含在可在SO 上运行的sn-p 中,在minimal reproducible example 中。
-
是的,我正在调用该函数,但它显示为 [object Object],而不是图像,这就是为什么我在将数组生成为HTML。
-
你能粘贴一个
myArr的样例吗?它是一个对象数组吗?字符串数组等? -
对象数组
标签: javascript jquery html arrays json