JavaScript中DOM的層次節點(二)

jopen 8年前發布 | 12K 次閱讀 JavaScript開發 JavaScript

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(),很少會直接引用特性節點。

來自: http://www.cnblogs.com/a8167270/p/5110970.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!