createCDATASection() creates a new CDATA section node, and returns it.
Syntax
var CDATASectionNode = document.createCDATASection(data);
- CDATASectionNode is a CDATA Section node.
- data is a string containing the data to be added to the CDATA Section.
Example
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));
// Displays: <xml><![CDATA[Some <CDATA> data & then some]]></xml>
Notes
- This will only work with XML, not HTML documents (as HTML documents do not support CDATA sections); attempting it on an HTML document will throw
NOT_SUPPORTED_ERR. - Will throw a
NS_ERROR_DOM_INVALID_CHARACTER_ERRexception if one tries to submit the closing CDATA sequence ("]]>") as part of the data, so unescaped user-provided data cannot be safely used without with this method getting this exception (createTextNode()can often be used in its place).
Specifications
| Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'document.createCDATASection' in that specification. |
Living Standard |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
createCDATASection | Chrome Full support 1 | Edge Full support 12 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown
