HTML DOM節點
在HTML DOM (Document Object Model) ,一切是一個節點 :
- 該文件本身是一個文檔節點
- 所有的HTML元素是元素節點
- 所有的HTML屬性是屬性節點
- HTML元素中的文本是文本節點
- 註釋是註釋節點
文檔對象
當HTML文檔被加載到web瀏覽器,就變成了文檔對象 。
文檔對象是HTML文檔和的根節點"owner"的所有其他節點的:
(元素節點,文本節點,屬性節點和註釋節點)。
文檔對象提供的屬性和方法來訪問所有節點對象,從內的JavaScript。
Tip:該文件是Window對象的一部分,並且可以作為window.document被訪問。
瀏覽器支持
目的 | |||||
---|---|---|---|---|---|
Document | 是 | 是 | 是 | 是 | 是 |
文檔對象在所有的主流瀏覽器的支持。
文檔對象屬性和方法
下面的屬性和方法可以在HTML文檔中使用:
屬性/方法 | 描述 |
---|---|
document.activeElement | 返回當前的焦點內容,在文件中 |
文件。 addEventListener() | 附加的事件處理程序文件 |
文件。 adoptNode() | 從另一個文檔採用節點 |
document.anchors | 返回所有集合<a>文檔中的元素有一個name屬性 |
document.applets | 返回所有集合<applet>元素在文檔中 |
document.baseURI | 返回文檔的絕對基礎URI |
document.body的 | 設置或返回文檔的主體(the <body> element) |
文件。 close() | 關閉先前打開的文檔的輸出流。 open() |
的document.cookie | 返回的所有名稱/值對cookies文件中 |
文件。 createAttribute() | 創建一個屬性節點 |
文件。 createComment() | 創建具有指定文本註釋節點 |
文件。 createDocumentFragment() | 創建一個空的DocumentFragment節點 |
文件。 createElement() | 創建了一個元素節點 |
文件。 createTextNode() | 創建文本節點 |
document.doctype | 返回與文檔相關的文檔類型聲明 |
document.documentElement中 | 返回文檔的文檔元素(the <html> element) |
document.documentMode | 返回由瀏覽器使用的模式來再現文檔 |
document.documentURI | 設置或返回文檔的位置 |
document.domain的 | 返回加載文檔的服務器的域名 |
document.domConfig | 已過時。 返回文檔的DOM結構 |
document.embeds | 返回所有的集合<embed>元素的文檔 |
document.forms | 返回所有的集合<form>元素在文件中 |
文件。 getElementById() | 返回具有該元件ID與指定值屬性 |
文件。 getElementsByClassName() | 返回一個包含與指定的類名的所有元素的NodeList |
文件。 getElementsByName() | 返回包含具有指定名稱的所有元素的NodeList |
文件。 getElementsByTagName() | 返回包含指定標籤名稱的所有元素的NodeList |
文件。 hasFocus() | 返回一個布爾值,指示文檔是否具有焦點 |
document.head | 返回<head>文檔的元素 |
document.images | 返回所有的集合<img>的元素在文件中 |
document.implementation | 返回處理此文檔的DOMImplementation對象 |
文件。 importNode() | 從另一個文檔導入一個節點 |
document.inputEncoding | 返回編碼字符集,用於文檔 |
document.lastModified | 返回的日期和時間的文件的最後修改 |
document.links | 返回所有的集合<a>和<area>所述文檔中的元素具有一個href屬性 |
文件。 normalize() | 刪除空文本節點,並加入相鄰節點 |
文件。 normalizeDocument() | 刪除空文本節點,並加入相鄰節點 |
文件。 open() | 打開一個HTML輸出流從文檔收集輸出。 write() |
文件。 querySelector() | 返回指定CSS匹配的第一個元件selector(s)的文檔中 |
文件。 querySelectorAll() | 返回包含的所有元素的靜態節點列表,一個指定的CSS匹配selector(s)的文檔中 |
document.readyState | 返回(loading)文檔的狀態 |
document.referrer | 返回文檔的裝入的當前文檔的URL |
文件。 removeEventListener() | 從文檔中移除的事件處理程序(已附接有addEventListener()方法) |
文件。 renameNode() | 重命名指定的節點 |
document.scripts | 返回的集合<script>所述文檔中的元素 |
document.strictErrorChecking | 設置或返回是否錯誤檢查強制執行或不 |
文件名 | 設置或返回文檔的標題 |
document.URL | 返回HTML文檔的完整網址 |
文件。 write() | 寫HTML表達式或JavaScript代碼的文檔 |
文件。 writeln() | 同write() ,但是每個語句後面加上一個換行符 |
警告 !!!
在W3C DOM核心,文檔對象繼承來自節點對象的所有屬性和方法。
許多屬性和方法作出任何文件上使用的感覺。
避免使用HTML文檔對象,這些節點對象的屬性和方法:
屬性/方法 | 理由要避開 |
---|---|
document.attributes | 文檔沒有屬性 |
文件。 hasAttributes() | 文檔沒有屬性 |
document.nextSibling | 文件沒有兄弟姐妹 |
document.nodeName | 這始終是#document |
document.nodeType | 這始終是9 (DOCUMENT_NODE) |
document.nodeValue | 文檔沒有一個節點值 |
document.ownerDocument | 文件不具有所有者文件 |
document.ownerElement | 文件不具有所有者元素 |
document.parentNode | 文檔沒有父節點 |
document.previousSibling | 文件沒有兄弟姐妹 |
document.textContent | 文檔沒有文本內容 |