對DOM的兩個主要擴展是Selectors API(選擇符API)和HTML5。
==》Selectors API(選擇符API):
方法:
querySelector()
querySelectorAll()
?mathesSelector()
屬性:
childElementCount
firstElementChild
lastElementChild
previousElementSibling
nextElementSibling
==》HTML5:
方法:
getElementsByClassName()
document.hasFocus()
innerHTML()
outerHTML()
insertAdjacentHTML()
scrollIntoView()
contains()
compareDocumentPosition()
scrollIntoViewIfNeeded()
scrollByLines()
scrollByPages()
屬性:
classList=>其包含length屬性和item()(方括號[ ?]語法)、add()、contains()、remove()、toggle()方法、
document.activeElement
document.readyState=>其包含兩個值:loading和complete、
document.compatMode
document.head
document.charset
document.defaultCharset
children
innerText(textContent)
outerText
●querySelector()接收一個CSS選擇符,返回與該模式匹配的第一個元素,如果沒有找到匹配的元素,返回null。
●querySelectorAll()返回的是所有匹配的元素。這個方法返回的是一個NodeList的實例。(返回的值實際上是帶有所有屬性和方法的NodeList,而其底層實現則類似于一組元素的快照,而非不斷對文檔進行搜索的動態查詢)。
●mathesSelector()這個方法接收一個參數,即CSS選擇符,如果調用元素與該選擇符匹配,返回true;否則,返回false。
●childElementCount:返回子元素(不包括文本節點和注釋)的個數。
●firstElmentChild:指向第一個子元素;firstChild的元素版。
●lastElementChild:指向最后一個子元素;lastChild的元素版。
●previousElementSibling:指向前一個同輩元素;previousSibling的元素版。
●nextElementSibling:指向后一個同輩元素;nextSibling的元素版。
●getElementsByClassName():接受一個參數,即一個包含一或多個類型的字符串,返回帶有指定類的所有元素的NodeList。(傳入多個類名時,類名的先后順序不重要)
●classList屬性:這個屬性是新集合類型DOMTokenList的實例。其包含以下屬性和方法:
->length
->item()(也可以用方括號語法):取得每個元素
->add():將給定的字符串值添加到列表中。如果值已經存在,就不添加。
->contains():表示列表中是否存在給定的值,如果存在則返回true,否則返回false。
->remove():從列表中刪除給定的字符串。
->toggle():如果列表中已經存在給定的值,刪除它;如果列表中沒有給定的值,添加它。
●document.activeElement:這個屬性始終會引用DOM中當前獲得了焦點的元素。元素獲得焦點的方式有頁面加載、用戶輸入(通常是通過Tab鍵)和在代碼中調用focus()方法。
默認情況下,文檔剛剛加載完成時,document.activeElement中保存的是document.body元素的引用。文檔加載期間,document.activeElement的值為null。
●document.hasFocus():用于確定文檔是否獲得了焦點。
●document.readyState:其包含兩個可能的值:loading和complete。
->loading:表示正在加載文檔
->complete:表示已經加載完文檔
其最重要的作用,就是通過它來實現一個指示文檔已經加載完成的指示器。
●document.compatMmode:檢測瀏覽器采用了那種渲染模式。
->CSS1Compat:如果返回值是它,則為標準模式。
->BackCompat:如果返回值是它,則為混雜模式。
●document.head:引用文檔的<head>元素。
●document.charset:表示文檔中實際使用的字符集,也可以用來指定新字符集(可讀可寫)。
默認情況下,這個值為“UTF-16”,但可以通過<meta>元素、響應頭部或直接設置charset屬性修改這個值。
●document.defaultCharset:表示根據默認瀏覽器及操作系統的設置,當前文檔默認的字符集應該是什么。
●insertAdjacentHTML():插入標記,它接收兩個參數:插入位置和要插入的HTML文本。
●scrollIntoView():可以在所有HTML元素上調用,通過滾動瀏覽器窗口或某個容器元素,電泳元素就可以出現在視口中。(用于控制頁面滾動)
●children:略
●contains():調用該方法的應該是祖先節點,也就是搜索開始的節點,這個方法接收一個參數,即要檢測的后代節點。如果被檢測的節點是后代節點,該方法返回true;斗則,返回false。
●compareDocumentPosition():略
●scrollIntoViewIfNeeded():略
●scrollByLines()
●scrollByPages()