Javascript localStorage正在将html另存为[object HtmlLevel]

Javascript localStorage正在将html另存为[object HtmlLevel],javascript,Javascript,我想把一些html保存到本地存储中 <div class='table'> <p>text</p> </div> 我得到的是: 存储{mykey:“[object htmldevelment]”,长度:1} 什么是[object HtmlLevel]?这是空的吗?我只想将其存储为html 提前谢谢。它不是空的,当您登录时,您说的是console.log(localStorage),如果您想看到真正的值,请执行console.log(loca

我想把一些html保存到本地存储中

<div class='table'>
  <p>text</p>
</div>

我得到的是:
存储{mykey:“[object htmldevelment]”,长度:1}

什么是[object HtmlLevel]?这是空的吗?我只想将其存储为html


提前谢谢。

它不是空的,当您登录时,您说的是
console.log(localStorage)
,如果您想看到真正的值,请执行
console.log(localStorage.getItem(“mykey”)


还请记住,
localStorage
只接受字符串值,因此您可以执行
JSON.stringify
,将其转换为字符串。

您的变量不是值,而是html元素,请使用下面的示例执行此操作

var tableValue = document.getElementsByClassName('table')[0].value;
localStorage.setItem("myKey", tableValue);

你就快到了。如果需要完整的块,请将
outerHTML
添加到获取内容的行中。其他一切都可以

var table = document.getElementsByClassName('table')[0].outerHTML
localStorage.setItem("mykey", table)

console.log(localStorage)
结果如预期:

mykey: "<div class="table"><p>text</p></div>"
mykey:text


如果只需要段落元素,则使用
.innerHTML

保存在localStorage中的内容是解析HTML对象。在这里,您需要将HTML对象解析为字符串,并将其保存到localStorage,因为localStorage仅以
“key”:“string”
格式存储数据(这意味着值必须为
string
数据类型)

要将HTML对象用作字符串,请执行以下操作:

var tableContent=table.outerHTML;
setItem('myKey',tableContent);

引用:

它显示为“[object HtmlLevel]”,因为您在存储对象之前没有序列化它。请记住,LocalStorage仅存储字符串键值对,因此存储的内容必须是字符串

如果您期望的是元素的html,请尝试:

var table = document.getElementsByClassName('table')[0]
localStorage.setItem("mykey", table.outerHTML)
console.log(localStorage)

Depen's,如果他想要html元素或值,但我仍然向上投票,更不用说每日投票限制了:(您试图保存表示html元素的DOM对象,而不是通过访问innerHTML/outerHTML可以获得的实际html字符串,例如
table.outerHTML
[object htmldevelment]
是js试图将dom对象强制为字符串值的结果。如果您能解释一下,这将是一件非常棒的事情,您想在这里实现什么?我看不出您为什么要在本地存储中存储HTML元素。请更具体地说明您的问题。
var table = document.getElementsByClassName('table')[0]
localStorage.setItem("mykey", table.outerHTML)
console.log(localStorage)