HTML DOM 對象
HTML DOM 節點
在HTML DOM (Document Object Model) 中, 每個元素都是 節點:
#文檔是一個文檔。
所有的HTML元素都是元素節點。
所有 HTML 屬性都是屬性節點。
文字插入到 HTML 元素是文字節點。 are text nodes。
註解是註解節點。
Document 物件
當瀏覽器載入 HTML 文件, 它就會成為 document 物件。
document 物件是HTML文件的根節點與所有其他節點(元素節點,文字節點,屬性節點, 註解節點)。
Document 物件可讓我們從腳本中對 HTML 頁面中的所有元素進行存取。
提示:Document 物件是 Window 物件的一部分,可透過 window.document 屬性對其進行存取。
瀏覽器支援
所有主要瀏覽器都支援 Document 物件。
Document 物件屬性與方法
HTML文件中可以使用上述屬性與方法:
屬性/ 方法 | 描述 |
---|---|
#document.activeElement | ##傳回目前取得焦點元素|
向文件新增句柄 | |
#從另外一個文件回傳 adapded 節點到目前文件。 | |
傳回對文件中所有 Anchor 物件的參考。 | |
傳回對文件中所有 Applet 物件的參考。 | |
返回文檔的絕對基礎URI | |
##傳回文檔的body元素 | |
關閉以document.open() 方法開啟的輸出流,並顯示選定的資料。 | |
設定或傳回與目前文件相關的所有 cookie。 | |
建立一個屬性節點 | |
createComment() 方法可建立註解節點。 | |
#建立空的 DocumentFragment 對象,並傳回此物件。 | |
建立元素節點。 | |
建立文字節點。 | |
#傳回與文件相關的文件類型宣告 (DTD)。 | |
傳回文件的根節點 | ##document.documentMode |
document.documentURI | |
##document.domain | |
document.domConfig | |
document.embeds | |
document.forms | |
document. getElementsByClassName() | |
document.getElementById() | |
document.getElementsByName() | |
document.getElementsByTagName() | |
document.images | |
document.implementation | |
document.importNode() | |
document.inputEncoding | |
document.lastModified | 傳回文件被最後修改的日期和時間。 |
document.links | 傳回對文件中所有 Area 和 Link 物件參考。 |
document.normalize() | 刪除空白文字節點,並連接相鄰節點 |
document.normalizeDocument() | 刪除空文本節點,並連接相鄰節點的 |
document.open() | #開啟一個流,以收集來自任何document. write() 或document.writeln() 方法的輸出。 |
document.querySelector() | 傳回文件中符合指定的CSS選擇器的第一元素 |
document. querySelectorAll() | document.querySelectorAll() 是HTML5中引入的新方法,傳回文件中符合的CSS選擇器的所有元素節點清單 |
#document.readyState | 傳回文件狀態(載入中…) |
document.referrer | 傳回載入目前文件的文件的URL。 |
document.removeEventListener() | 移除文件中的事件句柄(由addEventListener() 方法新增) |
# document.renameNode() | 重新命名元素或屬性節點。 |
document.scripts | 傳回頁面中所有腳本的集合。 |
document.strictErrorChecking | 設定或傳回是否強制進行錯誤檢查。 |
document.title | #傳回目前文件的標題。 |
document.URL | 返回文件完整的URL |
document.write() | 向文檔寫入HTML 表達式或JavaScript 程式碼。 |
document.writeln() | 等同於 write() 方法,不同的是在每個表達式之後寫一個換行符。 |
警告 !!!
#在 W3C DOM核心,文件對象 繼承節點物件的所有屬性和方法。
很多屬性和方法在文件中是沒有意義的。
HTML 文件物件可以避免使用這些節點物件和屬性:
屬性/ 方法 | 避免的原因 |
---|---|
document.attributes | 文檔沒有該屬性 |
document.hasAttributes() | 文檔沒有該屬性 |
document.nextSibling | 文件沒有下一節點 |
document.nodeName | #這個通常是#document |
document.nodeType | 這個通常是9(DOCUMENT_NODE) |
document.nodeValue | 文件沒有一個節點值 |
document.ownerDocument | 文件沒有主文檔 |
文件沒有自己的節點 | |
文件沒有父節點 | |
文件沒有兄弟節點 | |
文件沒有文字節點 |