我有一个脚本,当您按下按钮时会随机显示div。我想创建一个愿望清单页面,以便人们跟踪自己喜欢的东西。
我已经设置了一天的会话和Cookie。这是我的脚本,它不起作用,但是我不确定为什么...谢谢您的所有帮助。
$(".places").hide();
$("#button").click(function(){
"use strict";
var randomNumber = Math.floor(Math.random()*45);
var selectedDiv = "#place" + randomNumber;
$('.places').hide().filter(selectedDiv).show();
$(".wishlistbutton").click(localStorage.setItem(selectedDiv,JSON.stringify(wishlist)));
});
var wishlistkey = "wishlist";
var wishlist = localStorage.getItem(wishlistkey);
if($.isEmptyObject(wishlist)){
wishlist = new Array()
} else {
wishlist = JSON.parse(wishlist);
}
最佳答案
$.isEmptyObject
方法无法按预期工作,因为您要提供一个字符串作为参数(期望的参数类型是普通的JS对象),实际上这在您的代码中是不必要的。
var wishlist = localStorage.getItem(wishlistkey);
if(!wishlist){
wishlist = new Array()}
else {
wishlist = JSON.parse(wishlist);
}
尽管您需要将JSON字符串存储在localStorage中,其键为
wishlist
而不是div id。localStorage.setItem('wishlist', JSON.stringify(wishlist))