Document.createCDATASection()
createCDATASection()
は、新規 CDATA セクションを生成し返します。
構文
var CDATASectionNode = document.createCDATASection(data);
- CDATASectionNode は CDATA セクションのノードです。
- 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