The DocumentType interface represents a Node containing a doctype.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 11.666666666666666%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 70" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/Node" target="_top"><rect x="151" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="188.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Node</text></a><polyline points="226,25 236,20 236,30 226,25" stroke="#D4DDE4" fill="none"/><line x1="236" y1="25" x2="266" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/DocumentType" target="_top"><rect x="266" y="1" width="120" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="326" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">DocumentType</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
Properties
Inherits properties from its parent, Node, and implements the ChildNode interface.
DocumentType.entitiesRead only- A
NamedNodeMapof entities declared in the DTD. Every node in this map implements theEntityinterface. DocumentType.internalSubsetRead only- A
DOMStringof the internal subset, ornullif there is none. Eg"<!ELEMENT foo (bar)>". DocumentType.nameRead only- A
DOMString, eg"html"for<!DOCTYPE HTML>. DocumentType.notationsRead only- A
NamedNodeMapwith notations declared in the DTD. Every node in this map implements theNotationinterface. DocumentType.publicIdRead only- A
DOMString, eg"-//W3C//DTD HTML 4.01//EN", empty string for HTML5. DocumentType.systemIdRead only- A
DOMString, eg"http://www.w3.org/TR/html4/strict.dtd", empty string for HTML5.
Methods
Inherits methods from its parent, Node, and implements the ChildNode interface.
ChildNode.remove()- Removes the object from its parent children list.
Specifications
| Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'DocumentType' in that specification. |
Living Standard | Added implemention of the ChildNode interface.Removed the internalSubset, entities, and notation properties. |
| Document Object Model (DOM) Level 3 Core Specification The definition of 'DocumentType' in that specification. |
Recommendation | No change from Document Object Model (DOM) Level 2 Core Specification. |
| Document Object Model (DOM) Level 2 Core Specification The definition of 'DocumentType' in that specification. |
Recommendation | Added the publicID, systemID, and internalSubset properties. |
| Document Object Model (DOM) Level 1 Specification The definition of 'DocumentType' in that specification. |
Recommendation | Initial definition |
Browser Compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 1.0 | (Yes) | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) |
entities and notations |
1.0[1] | (Yes)[3] | 1.0 (1.7 or earlier) No support6.0 (6.0) |
(Yes)[3] | (Yes)[1] | (Yes) |
internalSubset |
? | (Yes) | No support (not anymore in any case) | (Yes) | ? | ? |
Implements ChildNode |
29.0 | (Yes) | 25.0 (25.0)[2] | No support | 16.0 | No support |
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
entities and notations |
(Yes)[1] | (Yes) | 1.0 (1.0) No support6.0 (6.0) |
? | (Yes) | (Yes) |
internalSubset |
? | ? | ? | ? | ? | ? |
Implements ChildNode |
(Yes) | (Yes) | 25.0 (25.0)[2] | No support | 16.0 | No support |
[1] The Chromium project plans to drop supports for the internalSubset, entities and notations methods.
[2] Firefox 25 also added the previousElementSibling and nextElementSibling properties, this was removed in Firefox 28 due to compatibility problems.
[3] entities and notations properties exist in IE and Edge, but seem to always be null?
See also
Document Tags and Contributors
Tags:
Contributors to this page:
stevenwdv,
arronei,
erikadoyle,
fscholz,
Sebastianz,
teoli,
ethertank,
Sheppy,
Brettz9,
samuelkato
Last updated by:
stevenwdv,