作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,如果我有:
'<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
关于javascript - 如何将元素的字符串表示形式解析为实际的 html 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45471420/
我是一名优秀的程序员,十分优秀!