摘要:主要介紹不常用的類型這里介紹我們的其他類型包括以下幾個類型類型類型類型類型類型類型類型文本節點由類型表示特征值為為為節點包含的文本是一個不支持沒有子節點我們可以通過訪問節點包含的文本方法將添加到節點末尾從指定位置開始刪除個字符從指定
主要介紹不常用的DOM類型
這里介紹我們的其他類型,包括以下幾個類型:
Text類型
Comment類型
CDATASection類型
DocumentType類型
DocumentFragment類型
Attr類型
Text類型文本節點由Text類型表示
特征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屬性,保存著節點中字符的數目.且值與nodeValue.length和data.length相同.
修改時字符串會經過HTML/XML編碼,所以對于小于號,大于號和引號我們要進行轉義
創建文本節點document.createTextNode()接受一個參數,就是插入節點的文本,然后將會根據HTML/XML的格式進行編碼.并且在創建時也會為其設置ownerDocument屬性.當然我們要將它添加進文檔樹中還是需要之前介紹過的操作的.
規范化文本節點normalize()這個方法,在一個包含多個文本節點的父元素上調用該方法,會將所有文本節點合并成一個節點.
注意!(IE6):該方法會導致崩潰
Text類型提供了splitText方法就是和規范化文本節點相反的一個方法,這個方法我們在之前有介紹到,這是從文本節點提取數據的常用DOM解析技術
Comment類型這就是注釋了,在DOM中通過Comment類型來表示我們的注釋.
特征nodeType值為8
nodeName值為"#comment"
nodeValue值為注釋的內容
parentNode可能是Document或Element
不支持(沒有)子節點
值得注意的是Comment類型和Text類型繼承自相同的基類,所有在方法上除了splitText()外所有字符串操作方法都與Text類型相似.
創建document.createComment(text)這個也與文本節點類似,而我們也很少訪問這類節點,所以這里不再贅述
CDATASection類型只針對XML文檔,表示的是CDATA區域,這與Comment類似,并且該類型繼承自Text類型,因此除了splitText()方法之外所有字符串操作方法都相似
特征nodeType值為4
nodeName值為"#cdata-section"
nodeValue為CDATA區域中的內容
parentNode可能是Document或Element
不支持(沒有)子節點
創建document.createCDataSection()可以創建CDATA區域,傳入參數為傳入節點的內容.
DocumentType類型這在Web瀏覽器中并不常用
特征nodeType值為10
nodeName值為doctype名稱
nodeValue值為null
parentNode是Document
不支持(沒有)子節點
在DOM 1級中,DocumentType對象不能動態創建,只能通過解析文檔代碼方式創建.支持它的瀏覽器會把DocumentType對象保存在document.doctype中.并且描述了DocumentType對象的3個屬性:name,entities和notations.
name 表示文檔類型名稱
entities 即文檔類型描述的尸體的NamedNodeMap對象
notations 是由文檔類型描述的符號的NamedNodeMap對象
通常來說只有name是有用的,它保存了
在所有節點類型中,只有該類型在文檔中沒有對應的標記.DOM規定文檔片段是一種"輕量級"的文檔,可以包含和控制節點,但不會和完整的文檔那樣占用額外資源.
特征nodeType 值為11
nodeName 值為"#document-fragment"
nodeValue 為null
parentNode為null
子節點可以是Element,ProcessingInstruction,Comment,Text,CDATASection,EntityReference
它可以說是一個文檔節點的倉庫
創建document.createDocumentFragment()方法創建文檔片段,它繼承了Node所有的方法,我們可以通過之前所說的方法添加節點到文檔片段中,再通過方法將文檔片段添加到文檔中,但是這過程中發生的并不是將文檔片段添加到文檔樹.
文檔片段本身永遠不會成為文檔樹的一部分,實際上指揮將其所有子節點添加(轉移)到相應位置.
元素特性在DOM中以Attr類型表示,在所有瀏覽器中我們都可以訪問Attr類型的構造函數和原型.可以說特性就是存在于元素的attributes屬性中的節點.
特征nodeType值為2
nodeName為特性名
nodeValue為特性值
parentNode值為null
HTML中不支持(沒有)子節點
XML中子節點可以是Text或EntityReference
盡管我們稱它為節點,但是特性并不被認為是DOM文檔樹的一部分.
name
value
specified
這些在我們之前的章節也有所介紹,不再贅述
document.createAttribute(name)可以創建相應的特性,傳入參數為特性名
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91031.html
摘要:類型除了該死的其他所有瀏覽器都可以訪問到類型而中所有節點類型都繼承自類型因此所有節點類型都共享著相同的基本屬性和方法每個節點都有一個屬性可以表明節點的類型我們來看看有哪些類型吧和屬性則完全取決于對于元素節點保存的始終為標簽名而保存的值始終為 Node類型 除了IE(該死的IE),其他所有瀏覽器都可以訪問到Node類型,而JS中所有節點類型都繼承自Node類型,因此所有節點類型都共享著相...
摘要:簡介簡史誕生于年,當時主要負責表單的輸入驗證。實現一個完整的由三部分組成核心文檔對象模型瀏覽器對象模型就是對實現該標準規定的各個方面內容的語言的描述。把整個頁面映射為一個多層節點結構。由萬維網聯盟規劃。主要目標是映射文檔的結構。 JavaScript簡介 JavaScript簡史 JavaScript誕生于1995年,當時主要負責表單的輸入驗證。 如果沒有表單驗證的功能,填入信息之...
摘要:為屬性賦值匿名函數事件作用域使用級方法指定的事件處理程序被認為是元素的方法。最后這個布爾值參數如果是,表示在捕獲階段調用事件處理程序如果是,表示在冒泡階段調用事件處理程序。 事件捕獲和事件冒泡 DOM2級事件規定的事件流包括三個階段:事件捕獲、處于目標階段和事件冒泡。首先發生的是事件捕獲,從外部節點到內部節點依次遍歷,為截獲事件提供了機會。然后是實際的目標接收到事件。最后一個階段是冒泡...
摘要:為屬性賦值匿名函數事件作用域使用級方法指定的事件處理程序被認為是元素的方法。最后這個布爾值參數如果是,表示在捕獲階段調用事件處理程序如果是,表示在冒泡階段調用事件處理程序。 事件捕獲和事件冒泡 DOM2級事件規定的事件流包括三個階段:事件捕獲、處于目標階段和事件冒泡。首先發生的是事件捕獲,從外部節點到內部節點依次遍歷,為截獲事件提供了機會。然后是實際的目標接收到事件。最后一個階段是冒泡...
摘要:在基于使用命名空間的文檔求值時,需要使用對象。第四個參數的取值類型是下列常量之一,返回與表達式匹配的數據類型。,返回字符串值。這是最常用的結果類型。集合中節點的次序與它們在文檔中的次序一致。 JavaScript與XML 瀏覽器對XML DOM的支持 DOM2級核心 在通過JavaScript處理XML時,通常只使用參數root,因為這個參數指定的是XML DOM文檔元素的標簽名 v...
閱讀 3051·2023-04-26 03:01
閱讀 3544·2023-04-25 19:54
閱讀 1596·2021-11-24 09:39
閱讀 1378·2021-11-19 09:40
閱讀 4258·2021-10-14 09:43
閱讀 2073·2019-08-30 15:56
閱讀 1500·2019-08-30 13:52
閱讀 1665·2019-08-29 13:05