DocumentType类型在Web浏览器中并不常用,仅有Firefox、Safari和Opera支持它1。DocumentType包含着与文档的doctype有关的所有信息,它具有下列特征:
1Chrome 4.0也支持DocumentType类型。
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之后的文本。以下面严格型HTML 4.01的文档类型声明为例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
DocumentType的name属性中保存的就是"HTML":
alert(document.doctype.name); //"HTML"
IE及更早版本不支持DocumentType,因此document.doctype的值始终都等于null。可是,这些浏览器会把文档类型声明错误地解释为注释,并且为它创建一个注释节点。IE9会给document.doctype赋正确的对象,但仍然不支持访问DocumentType类型。
想要了解更多Java基础知识,可以点击评论区链接和小编一起学习java吧,此视频教程为初学者而著,零基础入门篇!给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili