元素:setHTMLUnsafe() 方法
setHTMLUnsafe()
是 Element
接口的一种方法,用于将 HTML 字符串解析为 DocumentFragment
,然后用该片段替换 DOM 中元素的子树。输入的 HTML 可以包含 声明式 Shadow 根。
方法名称中的后缀“Unsafe”表示该方法不会对可能不安全的 XSS 相关输入(例如 <script>
元素以及脚本或事件处理程序内容属性)进行清理或移除。
如果 HTML 字符串在特定的 Shadow 宿主中定义了多个 声明式 Shadow 根,则只创建第一个 ShadowRoot
— 后续声明将被解析为该 Shadow 根中的 <template>
元素。
注意:当 HTML 字符串可能包含声明式 Shadow 根时,应使用此方法代替 Element.innerHTML
。
语法
js
setHTMLUnsafe(html)
参数
html
-
定义要解析的 HTML 的字符串。
返回值
无 (undefined
)。
异常
无。
示例
以下代码演示了如何解析一段 HTML 字符串并将其插入 ID 为 target
的 Element
中。
js
const value = "<p>This is a string of text</p>"; // string of HTML
// Get the Element with id "target" and set it with the string.
document.getElementById("target").setHTMLUnsafe(value);
// Result (as a string): "<p>This is a string of text</p>"
规范
规范 |
---|
HTML 标准 # dom-element-sethtmlunsafe |
浏览器兼容性
BCD 表格仅在浏览器中加载