前言
html字符串转dom的场景一般很少,也不推荐做这种危险操作,容易被XSS攻击,如果有需要按需使用
具体方式
方法 | 示例 | 安全性 | 任意节点 | 兼容性 |
---|---|---|---|---|
innerHTML | let html = '文本元素'; let placeholder = document.createElement('div'); placeholder.innerHTML = html; let nodes = placeholder.childNodes; |
script 脚本不会执行 | 不合法的节点无法转换,如p标签内使用div标签 使用template元素可绕过此限制 | IE6+ |
insertAdjacentHTML | let html = '元素'; let placeholder = document.createElement('div'); placeholder.insertAdjacentHTML('afterbegin', html); // 如果HTML是单个闭合HTML标签 // |