文档:createCDATASection() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

createCDATASection() 创建一个新的 CDATA 部分节点,并返回它。

语法

js
createCDATASection(data)

参数

data

包含要添加到 CDATA 部分的字符串数据。

返回值

一个 CDATA Section 节点。

示例

js
const doc = new DOMParser().parseFromString("<xml></xml>", "application/xml");
const cdata = doc.createCDATASection("Some <CDATA> data & then some");
doc.querySelector("xml").appendChild(cdata);
console.log(new XMLSerializer().serializeToString(doc));
// Displays: <xml><![CDATA[Some <CDATA> data & then some]]></xml>

注意

  • 这只对 XML 文档有效,而不是 HTML 文档(因为 HTML 文档不支持 CDATA 部分);在 HTML 文档上尝试此操作将抛出 NOT_SUPPORTED_ERR
  • 如果尝试将 CDATA 的结束序列 (]]>) 作为数据的一部分提交,则会抛出 NS_ERROR_DOM_INVALID_CHARACTER_ERR 异常,因此未经转义的用户提供的数据无法安全地使用,除非此方法捕获此异常(通常可以使用 createTextNode() 代替)。

规范

规范
DOM
# ref-for-dom-document-createcomment①

浏览器兼容性