This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
The DocumentType.replaceWith() method replaces the document type with a set of given nodes.
replaceWith(node1) replaceWith(node1, node2) replaceWith(node1, node2, /* …, */ nodeN)
node1, …, nodeNA set of nodes to replace the DocumentType with.
None (undefined).
HierarchyRequestError DOMException
Thrown when the node cannot be inserted at the specified point in the hierarchy.
replaceWith()
let svg_dt = document.implementation.createDocumentType( "svg:svg", "-//W3C//DTD SVG 1.1//EN", "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd", ); document.doctype.replaceWith(svg_dt);
| Specification |
|---|
| DOM> # ref-for-dom-childnode-replacewith①> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
replaceWith |
54 | 17 | 49 | 39 | 10 | 54 | 49 | 41 | 10 | 6.0 | 54 | 10 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DocumentType/replaceWith