Javascript 如何保持多重状态<;细节>;页面刷新期间页面上的元素?

Javascript 如何保持多重状态<;细节>;页面刷新期间页面上的元素?,javascript,html,jquery,Javascript,Html,Jquery,我有一个包含多个details元素的页面,我感兴趣的是通过localStorage/sessionStorage持久化每个details元素的状态。因此,如果用户打开几个details元素,然后导航到一个新页面,然后返回到原始页面,那么他们最初打开的details元素将保持打开状态。如果您能以最佳方式提供帮助,我们将不胜感激。谢谢 您可以向每个细节元素添加id,并使用事件切换将其状态保存在localStorage中 然后在页面加载时,在localStorage上运行,并向每个细节添加open 看

我有一个包含多个details元素的页面,我感兴趣的是通过localStorage/sessionStorage持久化每个details元素的状态。因此,如果用户打开几个details元素,然后导航到一个新页面,然后返回到原始页面,那么他们最初打开的details元素将保持打开状态。如果您能以最佳方式提供帮助,我们将不胜感激。谢谢

您可以向每个细节元素添加
id
,并使用事件
切换将其状态保存在localStorage中

然后在页面加载时,在localStorage上运行,并向每个细节添加
open

(函数(){
$('details')。打开('toggle',函数(事件){
var id=$(this.attr('id'))
var isOpen=$(this.attr('open'))
console.log(id,isOpen)
window.localStorage.setItem('details-'+id,isOpen)
})
函数setDetailOpenStatus(项){
如果(项目包括('details-')){
var id=项目分割('details-')[1];
var status=window.localStorage.getItem(项目)
如果(状态==“打开”){
$(“#”+id).attr('open',true)
}
}
}
$(文档).ready(函数(){
for(var i=0;i

系统要求1
需要运行操作系统的计算机。电脑
必须有一定的记忆力和理想的长期存储能力。
输入设备以及某种形式的输出设备是
推荐的

系统要求2 需要运行操作系统的计算机。电脑 必须有一定的记忆力和理想的长期存储能力。 输入设备以及某种形式的输出设备是 推荐的

系统要求3 需要运行操作系统的计算机。电脑 必须有一定的记忆力和理想的长期存储能力。 输入设备以及某种形式的输出设备是 推荐的


谢谢这帮了大忙!添加了JSFIDLE示例