摘要:節點層次是針對和文檔的一個。每一段標記都可以通過一個節點來表示。用于表明節點的類型。返回新增的這個節點。將節點插入到節點列表指定的位置。節點有以下的特性為,為指向元素,指向元素。提供了對元素的標簽名,子節點和特性的訪問。
節點層次
DOM是針對HTML和XML文檔的一個API。DOM描繪了一個層次化的節點樹,允許開發人員添加、移除和修改頁面的某一部分。
DOM可以將任何HTML或XML文檔描繪成一個由多層節點構成的結構。每個節點都有自己的特點、數據和方法,也與其他的節點存在某種關系,構成了層次。
元素為文檔元素。是文檔的最外層元素。每一段標記都可以通過一個節點來表示。HTML元素通過元素點表示,特性通過特性點來表示。文檔類型通過文檔類型節點來表示。注釋通過注釋節點來表示。共有12種節點類型,這些類型都繼承自一個基類型。
1、Node類型每個節點都有一個nodeType屬性。用于表明節點的類型。要了解節點的具體信息,可以使用nodeName和nodeValue這兩個屬性。這兩個屬性的值完全取決于節點的類型。
每個節點都有一個childNodes屬性,其中保存著NodeList對象。可以通過方括號,也可以使用item()來訪問Nodelist中的節點。
每個節點都有一個parentNode屬性,指向父節點。 都有previousSibling 和nextSibling
父節點的firstChild和lastChild分別指向其childNodes的第一個和最后一個節點。
因為節點的關系指針都是只讀的,所以DOM提供了操作節點的方法。
appendChild():向childNodes列表的末尾添加一個節點。返回新增的這個節點。如果已經有了這個節點, 那么就將該節點從原來的位置轉移到最后的位置。
insertBefore():將節點插入到節點列表指定的位置。接收兩個參數,被插入的節點和作為參照的節點, 被插入的節點將會變成參照節點的前一個同胞節點。
replaceChild():替換節點。接收兩個參數,要插入的節點和要替換的節點。 返回要替換的節點。
removeChild():移除節點。 返回值為那個被移除的節點。
cloneNode():復制節點。參數為 true的時候執行深復制,為false則執行淺復制。這個方法只復制特性,不會復制節點中的js屬性。
2、Document類型js通過document類型表示文檔。document對象是HTMLDocument的一個實例。Document節點有以下的特性:
nodeType為9,nodeName為‘#document’document.documentElement指向html元素,document.body指向body元素。
document.title:獲取或修改文檔的標題。
document.URL:獲取完成的URL
document.domain:獲取域名
document.referrer:獲取來源頁面的URL
document.getElementById():
document.getElementByTageName:獲取到HTMLCollection對象,這個對象有一個方法namedItem(),可以通過元素的name特性取得集合中的項。
document.getElementByName():獲得所有有name特性的元素。
特殊集合:
document.forms:取得文檔中所有form元素。
document.images:取得所有的img元素。
document.links:取得所有帶href特性的a元素
document.write():頁面寫入內容
3、Element類型element類型為xml或者html的元素。提供了對元素的標簽名,子節點和特性的訪問。
特性:nodeType為1, nodeName的值為元素的標簽名。 parentNode可能為Document或者Element
標準屬性:id、title 、lang(元素內容的語言代碼,很少使用)、dir(值為ltr或rtl)、className
取得特性: getAttribute()有兩類特殊的特性,通過getAttribute返回的值并不相同。第一個就是style,返回的是style的字符串。 第二個就是onlick這樣的事件處理程序,返回的也是相應代碼的字符串。基于這些,一般只有在取得自定義特性值的時候,才使用getAttribute的方法。
- setAttribute():參數為 要設置的特性名 和值
- removeAttribute():刪除元素的特性。
- attributes屬性
創建元素
- document.createElement()可以創建新元素,參數為要創建元素的標簽名。
元素的子節點
- 元素的childNodes屬性中包含了它的所有的子節點
4、Text類型文本節點由Text類型表示,包含的可以是純文本內容。
特性: nodeType為3, nodeName為‘#text’, nodeValue為節點所包含的文本。 不支持子節點
創建文本節點
- document.createTextNode()創建新文本節點。參數為要插入的文本。
規范化文本節點
- normalize()可以將一個包含多個文本節點的父元素的所有文本節點合并成一個節點。
- splitText():按照指定的位置分割ndoeValue
5、Comment類型注釋類型,特性為:nodeType為8,nodeName為‘#comment’,nodeValue為注釋內容
6、DocumentFragment類型文檔片段在文檔中是沒有對應的標記的。不過可以包含和控制節點。
document.createDocumentFragment()
7、Attr類型元素的特性就是Attr類型來表示。特征為: nodeType為2,nodeName為特性的名稱,nodeValue為特性的值
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/106015.html
摘要:的類型類型創建對象的方法調用構造函數使用字面量將數據直接指定給一個變量。表示解析器應該忽略標記中的處理指令。這三個設置會影響對傳入到構造函數中的字符串以及字面量的解析。 showImg(https://segmentfault.com/img/bVbvHVV?w=737&h=593); 1、E4X的類型 1.1 XML類型 1、創建XML對象的方法: (1)調用構造函數: var x ...
摘要:年月級規范成為的推薦標準,為基本的文檔結構及查詢提供了接口。這意味著中的對象與原生對象的行為或活動特點并不一致。結果第一條注釋就會成為中的第一個子節點。由于跨域安全限制,來自不同子域的頁面無法通過通信。 DOM(文檔對象模型)是針對HTML和XML文檔的一個API(應用程序編程接口)。DOM描繪了一個層次化的節點樹,允許開發人員添加、移除和修改頁面的某一部分。DOM脫胎于Netsc...
摘要:函數接收三個參數上下文節點表達式和可選的命名空間對象。命名空間對象應該是下面這種字面量的形式。使用樣式表轉換文檔跨瀏覽器使用這個函數接收兩個參數要執行轉換的上下文節點和文檔對象。 showImg(https://segmentfault.com/img/bVbvHVd?w=962&h=496); 本章主要講解了以下四個問題: 1、將XML解析為DOM文檔 跨瀏覽器把XML解析為DOM文...
摘要:動態腳本創建動態腳本有兩種方式插入外部文件和直接插入代碼。一般來說應該盡量減少訪問的次數,因為每次訪問,都會運行一次基于文檔的查詢。所以,可以考慮將從中取得的值緩存起來。 1、動態腳本 創建動態腳本有兩種方式:插入外部文件和直接插入Javascript代碼。 (1)調用外部文件 function loadScript(url) { var script = documen...
摘要:設定的值的時候,即已自動暗示類型。第五章循環自我重復的風險數組用于在單一場所存儲多段數據數組的頁碼稱為鍵,索引只是一種形式特殊的鍵,它是數值鍵存儲在數組里的數據不一定為相同類型并不要求二維數組具有相同的行數,但是最好保持一致。 ** 簡介 **書名:《Head First JavaScript》中文譯名:《深入淺出JavaScript》著:Michael Morrison編譯:O’R...
閱讀 2222·2021-11-18 10:02
閱讀 3480·2021-11-15 11:36
閱讀 1116·2019-08-30 14:03
閱讀 724·2019-08-30 11:08
閱讀 2761·2019-08-29 13:20
閱讀 3287·2019-08-29 12:34
閱讀 1375·2019-08-28 18:30
閱讀 1642·2019-08-26 13:34