Javascript-14-DOM-4

Comment类型

注释在DOM中是通过Comment类型来表示的。Comment节点具有下列特征:

  • nodeType的值为8;
  • nodeName的值为“#comment”;
  • nodeValue的值是注释的内容;
  • parentNode可能是Document或Element;
  • 不支持(没有)子节点;

Comment类型与Text类型继承自相同的基类,因此它拥有除了splitText()之外所有字符串操作方法。与Text类型相似,也可以通过nodeValue或data属性来取得注释的内容。

// 注释节点可以通过其父节点来访问,以下面的代码为例
// 在此,注释节点是
元素的一个子节点,因此可以通过下面的代码来访问它 var div = document.getElementById('myDiv'); var comment = div.firstChild; alert(comment.data); // "A comment"

使用document.createComment()并为其传递注释文本也可以创注释节点,如下面的例子所示:

var comment = document.createComment("A comment");

CDATASection类型

CDATASection类型只针对基于XML的文档,表示的是CDATA区域。与Comment类似,继承自Text类型,因此拥有除了splitText()之外的所有字符串操作方法。具有以下特征:

  • nodeType的值为4;
  • nodeName的值为“#cdata-section”;
  • nodeValue的值是CDATA区域中的内容;
  • parentNode可能是Document或Element;
  • 不支持(没有)子节点;

在真正的XML文档中,可以使用document.createCDATASection()来创建CDATA区域,只需为其传入节点的内容即可。

DucumentType类型

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

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

DocumentFragment类型

在所有节点类型中,只有DocumentFragment在文档中没有对应的标记。Dom规定文档片段(document fragment)是一种“轻量级”的文档,可以包含和控制节点,但不会像完整的文档那样占用额外的资源。DocumentFragment节点具有下列特征:

  • nodeType的值为11;
  • nodeName的值为“#document-fragment”;
  • nodeValue的值为null;
  • parentNode的值为null;
  • 子节点可以是Element、ProcessingInstruction、Comment、Text、CDATASection或EntityReference。

Attr类型

元素的特性在DOM中以Attr类型来表示。在所有浏览器中(包括IE8),都可以访问Attr类型的构造函数和原型。从技术角度讲,特性就是存在于元素的attributes属性中的节点。特性节点具有下列特征:

  • nodeType的值为2;
  • nodeName的值是特性的名称;
  • nodeValue的值是特性的值;
  • parentNode的值为null;
  • 在HTML中不支持(没有)子节点;
  • 在XML中子节点可以是Text或EntityReference。

你可能感兴趣的:(Javascript-14-DOM-4)