Javascript-14-DOM-4

Comment类型

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

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

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

// 注释节点可以通过其父节点来访问,以下面的代码为例
<div id="myDiv"><!-- A comment --></div>
// 在此,注释节点是<div>元素的一个子节点,因此可以通过下面的代码来访问它
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。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值