我想再次隐藏并显示DIVS。不幸的是,当我重新加载页面时,保存在本地存储中不起作用。
function toggleElementDisplay(name) {
var divs = document.getElementsByName(name),
closed_divs = document.getElementById(localStorage.closed_divs);
if (closed_divs && closed_divs !== divs) {
closed_divs.style.display = 'none';
}
for(i=0; i < divs.length; i++) {
divs[i].style.display = (divs[i].style.display=="none") ? "block" : "none";
}
localStorage.closed_divs = divs;
};
if (localStorage.closed_divs) {
toggleElementDisplay(localStorage.closed_divs);
}
这不是使用localStorage api的正确方式。localStorage公开getItem和setItem方法。你必须使用这些来设置和获取值
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
本地存储无法使用.attribute
语法。而是使用localStorage.getItem('closed_divs')
和localStorage.setItem('closed_divs', divs)
。这样,数据将在页面重新加载时保持不变。