我有一个图像网格,当您单击一个div(它也有一个id)时,它得到了“活动”类。然后,我将使类“活动”的div的ID放入sessionStorage数组中。

在下一页上,我想读出在sessionStorage中存储了哪些ID,并想要显示特定的div。

例如,数组包含id'banner',则类标题可见。

到目前为止,我的代码:

 var sections = $.map($(".active"), function(n, i){
    return n.id;
  });

  sessionStorage.setItem("sections", JSON.stringify(sections));

  var storedSections = JSON.parse(sessionStorage.getItem("sections"));


这是将ID放入数组。

我可以在.html文件中用它们读出它们:

<script type="text/javascript">
    document.getElementById("test").innerHTML = sessionStorage.getItem('sections');
</script>


结果是这样的:

["header","banner","footer"]


但是,如何根据上面的结果显示某些div?

最佳答案

map方法是将一个字符串数组(id列表)放入您的会话存储中。如果要在这些div上设置活动类,则可以使用以下数组:

$(document).ready(function(){
   JSON.parse(sessionStorage.getItem('sections')).forEach(function(id){
      $('#'+id).addClass('active');
   })
});

关于javascript - 如何在sessionStorage中基于数组显示div,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44720517/

10-11 22:12
查看更多