我有以下代码:
localStorage.setItem("ActiveDataOfpModel", iHandle.find("ul li.pModel.active"));
当我在控制台中检查“ ActiveDataOfpModel”值时,我得到“ [object Object]”。 如何将实际对象存储在“ ActiveDataOfpModel”中并检索其属性。即我想执行以下操作:
var value = localStorage.getItem("ActiveDataOfpModel").attr("data-id")
我确实尝试过
var value = JSON.parse(localStorage.getItem("ActiveDataOfpModel")).attr("data-id")
但不起作用
答案 0 :(得分:2)
您只能将字符串存储在本地存储中。
您可以使用JSON.stringify(someObject)
将简单对象编码为JSON(它们必须仅包含JSON数据类型,例如对象,数字和字符串)作为字符串。
var value = JSON.parse(localStorage
…,这是随后将JSON转换回对象的方法。
您的代码iHandle.find("ul li.pModel.active")
表示您不是在处理简单的对象。这是我期望返回的DOM元素或类似的元素。
您需要从中提取您关心的数据,将其存储在一个对象中,将其存储在JSON中,然后存储在localstorage中,并编写更多代码以在拉出时将简单数据转换回完整对象数据出来。
答案 1 :(得分:1)
尝试一下:
在保存到LocalStorage之前将其转换为String
localStorage.setItem('key', JSON.stringify(data));
转换回JS对象,从LocalStorage中读取
data = JSON.parse(localStorage.getItem('key');