Document: createCDATASection() 方法

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

语法

js
createCDATASection(data)

参数

数据

包含要添加到 CDATA 节点的数据的字符串。

返回值

一个 CDATA 节点

示例

js
const docu = new DOMParser().parseFromString("<xml></xml>", "application/xml");
const cdata = docu.createCDATASection("Some <CDATA> data & then some");
docu.querySelector("xml").appendChild(cdata);
console.log(new XMLSerializer().serializeToString(docu));
// 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①

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。