JavaScript中DOM的层次节点(二)

1 Text类型

Text类型为文本节点,包含的是可照字面解释的纯文本内容,可以包含转义后的HTML字符,但不能包含HTML代码。

类型
nodeType 3
nodeName "#text"
nodeValue 节点所包含的文本
parentNode Element
没有子节点

可以通过nodeValue和data属性访问Text节点中包含的文本。

  • appendData(text):将text添加到节点的末尾。
  • deleteData(offset,count):从offset置顶的位置开始删除count个字符。
  • insertData(offset,text):在offset位置插入text。
  • replaceData(offset,count,text):用text替换从offset指定的文职到offset+count为止的文本。
  • splitText(offset):从offset指定的位置将当前文本节点分成两个文本节点。
  • substringData(offset,count):提取从offset指定的位置开始到offset+count处的字符串。
  • length:长度。

创建文本节点

    document.createTextNode("<span>Hello world</span>");
    document.createElement("div");
    document.body.appendChild(element);//在未添加之前,虽然创建,但是不会显示出来

如果创建多个文本节点,且是相邻的同胞节点,那么两个节点的文本会连起来显示,中间不会有空格。

2 Comment类型

类型
nodeType 8
nodeName "#comment"
nodeValue 注释的内容

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

3 CDATASection类型

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

类型
nodeType 4
nodeName "#cdata-section"
nodeValue CDATA区域中的内容
没有子节点

4 DocumentType类型

此类型在Web浏览器中并不常用,只有Firefox、Safari和Opera支持。

类型
nodeType 10
nodeName doctype名称
nodeValue null

DocumentType对象不能动态创建,只能通过解析文档代码的方式来创建。若浏览器支持此类型,会把此对象保存在document.doctype中。

5 Attr类型

特性就是元素attribute属性的节点。在所有浏览器中,都可以访问Attr类型的构造函数和原型。

类型
nodeType 11
nodeName 特性的名称
nodeValue 特性的值

特性虽然是节点,但不会被认为是DOM文档树的一部分,最常用的方法为getAttribute(),setAttribute()和remveAttribute(),很少会直接引用特性节点。

你可能感兴趣的:(JavaScript中DOM的层次节点(二))