簡體   English   中英

如何從 [object HTMLDivElement] 中檢索 DIV 元素?

[英]How to retrieve a DIV element from [object HTMLDivElement]?

我正在使用本地存儲來存儲 div 元素。 但是最后我想從本地存儲中檢索該 div 元素,但每次我這樣做時,我都會返回輸出:“[object HTMLDivElement]”,這是一個字符串

有什么方法可以將這個接收到的結果轉換成一個 HTML 元素,這樣我就可以得到我在開始時存儲的相同的 div?

一個好主意是將 DOM 對象轉換為純 HTML 字符串,然后將其保存到本地存儲中。

查看此以獲得更多信息: Parse HTML String to DOM and convert it back to string

localStorage 只能存儲字符串 您不能在其中存儲 DOM 節點,JS 只會“是的,這不起作用,讓我先將其轉換為字符串”,並將使用通用的“括號中的對象類型”字符串。

如果你想存儲一個 HTML 元素,不要存儲元素本身,而是存儲它的外層HTML 源代碼,它一個字符串。

// convert page element to string:
function storeElement(element, keyName) {
  localStorage.setItem(keyName, element.outerHTML);
}

// reconstitute the page element from string:
function retrieveElement(keyName, preserve=false) {
  const stored = localStorage.getItem(keyName);
  if (!preserve) localStorage.removeItem(keyName);
  const helper = document.createElement(`section`);
  helper.innerHTML = stored;
  return helper.childNodes[0];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM