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 の定義
現行の標準

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
createCDATASectionChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 9Opera 完全対応 ≤12.1Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 ≤12.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0

凡例

完全対応  
完全対応