DocumentType类型在WEB浏览器中并不常用,Firefox、Safari、Opera和Chrome浏览器支持DocumentType类型,而IE浏览器不支持DocumentType类型。DocumentType包含着与文档doctype有关的信息,它有下面的一些特征:
nodeType的值为10。 nodeName的值为doctype的名称。 nodeValue的值null。 parentNode是Document。 它的没有子节点。在DOM1级中,DocumentType对象不能动态创建,而是只能通过解析文档代码的方式来创建。支持它的浏览器会将DocumentType对象保存在 document.doctype 中。
DOM1级描绘了DocumentType对象的3个属性: name 、 entities 和 notations 。其中, name 属性表示文档类型的名称; entities 属性是由文档类型描述的实体的 NamedNodeMap 对象; notations 属性是由文档类型描述的符号的 NamedNodeMap 对象
通常浏览器中的文档使用的都是HTML或XHTML文档类型,所以 entities 和 notations 都是空列表(列表中的项来自行内文档类型声明)。 name 属性中保存了文档类型的名称,也就是出现在 <!DOCTYPE 之后的文本内容。
下面的例子是一个严格型的HTML4.01的文档类型声明的例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
DocumentType的 name 属性中保存的就是“HTML”,可以通过控制台来查看:
console.info(document.doctype.name);
IE不支持DocumentType,因此 document.doctype 的值始终会是 null 。但是,IE浏览器会错误的将文档类型解释为注释,并且为它创建一个注释节点。
查看更多关于JavaScript文档对象模型-DocumentType类型的详细内容...