DocumentType类型
DocumentType 类型的节点包含文档的文档类型(doctype)信息,具有以下特征: nodeType 等于 10; nodeName 值为文档类型的名称; nodeValue 值为 null; parentNode 值为 Document 对象; 不支持子节点。 DocumentType 对象在 DOM Level 1 中不支持动态创建,只能在解析文档代码时创建。对于支持这 个类型的浏览器,DocumentType 对象保存在 document.doctype 属性中。
DOM Level 1 规定了 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">
对于这个文档类型,name 属性的值是"html": alert(document.doctype.name); // "html"
DocumentFragment类型
在所有节点类型中,DocumentFragment 类型是唯一一个在标记中没有对应表示的类型。
DOM 将 文档片段定义为“轻量级”文档,能够包含和操作节点,却没有完整文档那样额外的消耗。 DocumentFragment 节点具有以下特征: nodeType 等于 11; nodeName 值为"#document-fragment"; nodeValue 值为 null; parentNode 值为 null; 子节点可以是 Element、ProcessingInstruction、Comment、Text、CDATASection 或 EntityReference。 不能直接把文档片段添加到文档。相反,文档片段的作用是充当其他要被添加到文档的节点的仓库。
可以使用 document.createDocumentFragment()方法像下面这样创建文档片段: let fragment = document.createDocumentFragment(); 文档片段从 Node 类型继承了所有文档类型具备的可以执行 DOM 操作的方法。
如果文档中的一个 节点被添加到一个文档片段,则该节点会从文档树中移除,不会再被浏览器渲染。添加到文档片段的新 节点同样不属于文档树,不会被浏览器渲染。
可以通过 appendChild()或 insertBefore()方法将文 档片段的内容添加到文档。在把文档片段作为参数传给这些方法时,这个文档片段的所有子节点会被添 加到文档中相应的位置。文档片段本身永远不会被添加到文档树。以下面的 HTML 为例:
标签:片段,值为,js,文档,DocumentType,类型,节点 From: https://blog.51cto.com/u_16255561/9379021