JS的對象篇

(1)BOM

window對象

全局對象不能通過delete操作符刪除,直接在window上定義的屬性可以刪除

location對象

屬性:

  • hash:地址欄#後面的內容

  • host:主機及端口號

  • hostname:主機名

  • pathname:文件路徑——————相對路徑

  • port:端口號

  • protocol:協議

  • search:搜索的內容

  • href:設置跳轉的頁面

1.location.href="http://www.baidu.com"

2.location.assign("http://www.baidu.com")

3.location.reload()====》重新加載,刷新

4.location.replace()=====》沒有歷史記錄,替換當前頁面地址

history對象

  • back():後退

  • forward():前進

  • go()

navigator對象

  • userAgent:判斷用戶瀏覽器類型

  • platform:判斷瀏覽器所在系統平愛類型

screen對象

(不常用)

(2)DOM

獲取元素節點的方式

  • getElementById

  • getElementsByName

  • getElementsByTagName

  • getElementByClassName

  • querySelector:返回一個對象

  • getSelectorAll:返回數組,多個元素組成

  • firstChild

  • lastChild

  • childNodes

  • previousSibling

  • nextSibling

  • parentNode

操作節點的方法

  • createElement

  • createAttribute

  • createTextNode

  • appendChild:在末尾添加一個節點

  • insertBefore:兩個參數,要插入的節點和作爲參數節點

  • replaceChild:兩個參數,要插入的節點和要替換的位置(被替換的節點仍然在文檔中,只是沒有了位置)

  • cloneNode:參數爲布爾值,true表示爲深克隆,false表示爲淺克隆

  • removeChild:接受一個要刪除的節點,並返回

操作屬性

  • 對象.getAttribute(“屬性名”):獲取自定義屬性的值

  • 對象.setAttribute(“屬性名”,“值”):設置自定義屬性的值

  • 對象.removeAttribute(“屬性名”):刪除自定義屬性

節點類型

  • Document:

JavaScript通過Document類型表示文檔。在瀏覽器中,document對象是HTMLDocument的一個實例,表示整個HTML頁面。而且,document對象是window對象的一個屬性,因此可以將其作爲全局對象來訪問。Document節點具有下列特徵:

  1. nodeType的值爲9

  2. nodeName的值爲#document

  3. nodeValue的值爲null

  4. parentNode的值爲null

  5. ownerDocument的值null

  6. 其子節點可能是一個DocumentType(最多一個)、Element(最多一個)、ProcessingInstructionComment

  • Element:

除了Document類型之外,Element類型應該是Web編程中最常用的類型了。Element類型用於表現HTMLXML元素,提供了對標籤名、子節點及特性的訪問。Element節點具有以下特徵:

  1. nodeType的值爲1

  2. nodeName的值爲元素的標籤名

  3. nodeValue的值爲null

  4. parentNode可能是DocumentElement

  5. 其子節點可能是ElementTextCommentProcessingInstructionCDATASectionEntityReference

  • Text:

文本節點由Text類型表示,包含的是可以照字面解釋的純文本內容。純文本內容可以包含轉義後的HTML字符,但不能包含HTML代碼。Text節點具有以下特徵:

  1. nodeType的值爲3

  2. nodeName的值爲#text

  3. nodeValue的值爲節點所包含的文本

  4. parentNode是一個Element

  5. 不支持子節點

  • Comment:

Comment類型表示的是DOM中的註釋,Comment節點具有以下特徵:

  1. nodeType的值爲8

  2. nodeName的值爲#comment

  3. nodeValue的值是註釋的內容

  4. parentNode可能是DocumentElement

  5. 不支持子節點

  • CDATASection:

CDATASection類型只針對基於XML的文檔,表示的是CDATA區域。與Comment類似,CDATASection類型繼承自Text類型,因此擁有除splitText()之外的所有字符串操作方法,CDATASection節點具有下列特徵:

  1. nodeType的值爲4

  2. nodeName的值爲#cdata-section

  3. nodeValue的值是CDATA區域中的內容

  4. parentNode可能是DocumentElement

  5. 不支持子節點

  • DocumentType:

DocumentType包含着與文檔的doctype有關的所有信息,它具有下列特徵:

  1. nodeType的值爲10

  2. nodeName的值爲doctype的名稱

  3. nodeValue的值爲null

  4. parentNode是Document

  5. 不支持子節點

  • Attr:

元素的特性在DOM中以Attr類型來表示。在所有瀏覽器中,都可以訪問Attr類型的構造函數和原型。從技術上講,特性就是存在於元素的attributes屬性中的節點。特性節點具有下列特徵:

  1. nodeType的值爲2

  2. nodeName的值是特性的名稱

  3. nodeValue的值是特性的值

  4. parentNode的值爲null

  5. HTML中不支持子節點

  6. XML中子節點可以是TextEntityReference

儘管它們也是節點,但特性卻不認爲是DOM文檔樹的一部分

  • DocumentFragment:

在所有節點類型中,只有DocumentFragment在文檔中沒有對應的標記,DOM規定文檔片段是一種“輕量級”的文檔,可以包含和控制節點,但不會像完整的文檔那樣佔用額外的資源。DocumentFragment節點具有以下特徵:

  1. nodeType的值爲11

  2. nodeName的值爲#document-fragment

  3. nodeValue的值爲null

  4. parentNode的值爲null

  5. 子節點可以是ElementProcessingInstructionCommentTextCDATASectionEntityReference

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章