Element: getHTML() 方法

Baseline 2024
新推出

自 2024 年 9 月起,此功能已可在最新设备和浏览器版本上使用。此功能可能无法在旧设备或浏览器上使用。

Element 接口的 getHTML() 方法用于将元素的 DOM 序列化为 HTML 字符串。

该方法提供了一个 options 参数,可以用于序列化 shadow roots 的子节点。这些选项可以用来包含已设置为 serializable 的嵌套 shadow roots,或/和指定的 ShadowRoot 对象数组,这些对象可以是 open 或 closed 的。

如果不提供参数,shadow roots 的子节点将不会被序列化,此方法与读取 Element.innerHTML 的值行为相同。

请注意,当 <> 字符出现在属性值中时,某些浏览器会将其序列化为 &lt;&gt;(请参阅浏览器兼容性)。这是为了防止潜在的安全漏洞(变异 XSS),其中攻击者可以精心构造绕过净化函数的输入,从而实现跨站脚本(XSS)攻击。

语法

js
getHTML(options)

参数

options 可选

一个包含以下可选参数的 options 对象

serializableShadowRoots

一个布尔值,指定是否包含 serializable 的 shadow roots。默认值为 false

shadowRoots

要序列化的 ShadowRoot 对象数组。这些对象将被包含,无论它们是否标记为 serializable,或它们是 open 还是 closed。默认值是一个空数组。

返回值

代表元素 HTML 序列化的字符串。

异常

无。

规范

规范
HTML
# dom-element-gethtml

浏览器兼容性

参见