首页 > 其他分享 >js DocumentType类型

js DocumentType类型

时间:2024-01-23 14:04:56浏览次数:28  
标签:片段 值为 js 文档 DocumentType 类型 节点

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

相关文章

  • js Comment类型
    Comment类型DOM中的注释通过Comment类型表示。Comment类型的节点具有以下特征:nodeType等于8;nodeName值为"#comment";nodeValue值为注释的内容;parentNode值为Document或Element对象;不支持子节点。Comment类型与Text类型继承同一个基类(CharacterData......
  • js Comment类型
    Comment类型DOM中的注释通过Comment类型表示。Comment类型的节点具有以下特征:nodeType等于8;nodeName值为"#comment";nodeValue值为注释的内容;parentNode值为Document或Element对象;不支持子节点。Comment类型与Text类型继承同一个基类(CharacterData......
  • js 规范化文本节点
    在将一个文本节点作为另一个文本节点的同胞插入后,两个文本节点的文本之间不会包含空格。2.规范化文本节点DOM文档中的同胞文本节点可能导致困惑,因为一个文本节点足以表示一个文本字符串。同样,DOM文档中也经常会出现两个相邻文本节点。为此,有一个方法可以合并相邻的文本节点。这......
  • js 创建文本节点 document.createTextNode()
    示例中的第一个div元素中不包含内容,因此不会产生文本节点。只要开始标签和结束标签之间有内容,就会创建一个文本节点,因此第二个元素会有一个文本节点的子节点,虽然它只包含空格。这个文本节点的nodeValue就是一个空格。第三个元素也有一个文本节点的子节点,其nodeValue的值为"He......
  • JS、HTML内嵌iframe第三方网页,如何通信?
    在实际使用postMessage时,如果你不确定确切的父页面或子页面的源地址(即origin),可以采取以下策略:允许任意源发送消息:如果你希望iframe子页面能够向任何父页面发送消息,或者父页面接受来自任何域的iframe消息,可以在调用postMessage时将目标源设置为通配符*://子页面向任意源发送windo......
  • 自我记录js正则
    一、数字相关只有数字:/^[0-9]*$/或/^\d{1,}$/整数:/^-?[0-9]\d*$/正整数:/^\+?[1-9]\d*$/非正整数:/^-[1-9]\d*|0$/负整数:/^-[1-9]\d*$/非负整数:/^\d+$/浮点数:/^(-?\d+)(\.\d+)?$/正浮点数:/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/负浮点数:/^-([1-9]\d*\.\d*|......
  • Rust 中 数据类型的整型 取值范围
      整数是一个没有小数的数组,在Rust中整数分为有无符号(-),代表数字能否负值,有符号数以补码形式存储。 长度有符号无符号8-bit i8u816-biti16u1632-biti32u3264-biti64u64128-biti128u128archisizeusize isize和usize类型依赖运......
  • 从SQL到Java数据类型映射的JDBC规范
    SQL类型Java类型CHARjava.lang.StringVARCHARjava.lang.StringLONGVARCHARjava.lang.StringNUMERICjava.math.BigDecimalDECIMALjava.math.BigDecimalBITbooleanTINYINTbyteSMALLINTshortINTEGERint......
  • OPENJSON requires Compatibility Level 130
    ParseandTransformJSONDatawithOPENJSONOPENJSONrequiresCompatibilityLevel130TheOPENJSONfunctionisavailableonlyundercompatibilitylevel130.Ifyourdatabasecompatibilitylevelislowerthan130,SQLServercan'tfindandruntheO......
  • js中的bigint类型转化为json字符串时报无法序列化的问题
    网上查了一下,解决这个问题的思路就是将bigint类型的数据转化为字符串,这样就能正确转化为json字符串了。对于一个是bigint的变量,直接使用toString方法就可以转化为字符串了,但是bigint变量在一个对象中,那么我们就需要一个更加通用的方法,网上看到一个很好的封装好的方法,如下。expor......