[英]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.