DocumentType类型 – 学习画板

首页 » DOM » DocumentType类型

DocumentType类型

DocumentType类型在Web浏览器中并不常用,仅有Firefox、Safari和Opera支持它。DocumentType包含着与文档的doctype有关的所有信息,它具有下列特征:

  • nodeType的值为10;
  • nodeName的值为doctype的名称;
  • nodeValue的值为null;
  • parentNode是Document;
  • 不支持(没有)子节点。

在DOM1级中,DocumentType对象不能动态创建,而只能通过解析文档代码的方式来创建。支持它的浏览器会把DocumentType对象保存在document.doctype中。DOM1级描述了DocumentType对象的3个属性:name、entities和notations。其中,name表示文档类型的名称;entities是由文档类型描述的实体的NameNodeMap对象;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。可是,IE会把文档类型声明错误的解释为注释,并且为它创建一个注释节点。

此文章发表在 DOM. 将 固定链接 加入收藏.