Document.createCDATASection()

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_ERR exception 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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
createCDATASectionChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 9Opera Full support ≤12.1Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support ≤12.1Safari iOS Full support 1Samsung Internet Android Full support 1.0

Legend

Full support  
Full support