如何使用 document.createElement + innerHTML 安全高效地解析 HTML 字符串?
使用 document.createelement + innerhtml 解析 html
在 JavaScript 中,使用正则表达式解析 HTML 文本可能存在误配问题。为了安全稳妥,建议使用 HTML 解析器。
一个可行的解决方案是使用 document.createElement + innerHTML 来解析 HTML 字符串。这是一种简单且高效的方法,操作如下:
const html = `<section><a href="/">首页</a> <a href="/about">关于我们</a> <a href="/contact">联系我们</a> </section>`; const element = document.createElement('div'); element.innerHTML = html; const hrefs = [...element.querySelectorAll('a')].map(a => a.href);
在这个示例中,element 变量现在包含解析后的 HTML 文档,我们可以通过 querySelectorAll() 方法获取其中的所有 元素,然后用 map() 方法获取每个元素的 href 属性。
结果:
hrefs = ['/', '/about', '/contact'];
这种方法不仅可以获取 href 属性,还可以访问其他属性和 DOM 节点,更灵活且强大。
以上就是如何使用 document.createElement + innerHTML 安全高效地解析 HTML 字符串?的详细内容,更多请关注其它相关文章!