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() を用いることでこの問題を回避することが出来ます。

仕様書

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera ? Safari ? WebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, fscholz, jsx, ethertank
最終更新者: mfuji09,