簡體   English   中英

如何將元素的字符串表示形式解析為實際的html元素?

[英]How can I parse a string representation of an element into an actual html element?

例如,如果我有:

'<html><body><p>hello</p></body></html>'

如何將其解析為實際的html元素?

我已經嘗試過以下方法:

getNodeType(element) {
  const temp = document.createElement('div');
  temp.innerHTML = element;
  if (temp.firstChild) return temp.firstChild.nodeName;
  else return null;
}

效果很好,但是我無法解析<html><body><title>標簽,因為它們無法包含在div中。 我也嘗試過DOMParser,但它會將所有內容包裝在html,head和body標簽中,因此我無法識別實際元素。

寧願不使用jQuery,但也不完全反對它。

非常感謝任何建議,非常感謝!

為此,應使用DOMParser:

parser = new DOMParser();
doc = parser.parseFromString('<html><body><p>hello</p></body></html>', 'text/html');
console.log(doc.getElementsByTagName('p')[0])
// will print: <p>hello</p>

此處提供更多信息: https : //developer.mozilla.org/en/docs/Web/API/DOMParser

不確定為什么DOMParser存在問題,它應該可以正常工作

 const parser = new DOMParser(); const doc = parser.parseFromString('<html><body><p>hello</p></body></html>', 'text/html') console.log(doc.firstChild.nodeName); 

暫無
暫無

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

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