Document.createCDATASection()

createCDATASection() は、新規 CDATA セクションを生成し返します。

構文

var CDATASectionNode = document.createCDATASection(data);
  • CDATASectionNodeCDATA セクションのノードです。
  • data は CDATA セクションに追加するデータを含む文字列です。

var docu = new DOMParser().parseFromString('<xml></xml>', 'application/xml')

var cdata = docu.createCDATASection('Some <CDATA> data & then some');

docu.getElementsByTagName('xml')[0].appendChild(cdata);

alert(new XMLSerializer().serializeToString(docu));
// 表示結果: <xml><![CDATA[Some <CDATA> data & then some]]></xml>

  • これは HTML ではなく、 XML の文書のみで動作します (HTML 文書は CDATA セクションに対応していません)。 HTML 文書でこれを用いた場合、 NOT_SUPPORTED_ERR がスローされます。
  • 引数として渡す文字列データの一部に CDATA を閉じるシーケンス ("]]>") が含まれている場合、 NS_ERROR_DOM_INVALID_CHARACTER_ERR 例外がスローされます。もしこの様な文字列が含まれる可能性がある場合、 createTextNode() を用いることでこの問題を回避することが出来ます。

仕様書

仕様書 状態 備考
DOM
document.createCDATASection の定義
現行の標準

ブラウザーの互換性

BCD tables only load in the browser