Document
Baseline 廣泛可用 *
Document 介面表示瀏覽器中載入的任何網頁,並作為網頁內容(即 DOM 樹)的入口點。
DOM 樹包括 <body> 和 <table> 等元素,以及許多其他元素。它提供了對文件的全域性功能,例如如何獲取頁面 URL 並在文件中建立新元素。
Document 介面描述了任何型別文件的常見屬性和方法。根據文件的型別(例如,HTML、XML、SVG 等),可以使用更大的 API:使用 "text/html" 內容型別提供的 HTML 文件還實現了 HTMLDocument 介面,而 XML 和 SVG 文件實現了 XMLDocument 介面。
建構函式
Document()-
建立一個新的
Document物件。
例項屬性
此介面還繼承自 Node 和 EventTarget 介面。
Document.activeElement只讀-
返回當前具有焦點的
Element。 Document.adoptedStyleSheets-
新增一個構造樣式表陣列,供文件使用。這些樣式表也可以與同一文件的 Shadow DOM 子樹共享。
Document.body-
返回當前文件的
<body>或<frameset>節點。 Document.characterSet只讀-
返回文件正在使用的字元集。
Document.childElementCount只讀-
返回當前文件的子元素數量。
Document.children只讀-
返回當前文件的子元素。
Document.compatMode只讀-
指示文件是以怪異模式還是標準模式呈現。
Document.contentType只讀-
返回當前文件 MIME 標頭中的 Content-Type。
Document.currentScript只讀-
返回當前正在處理指令碼且不是 JavaScript 模組的
<script>元素。 Document.doctype只讀-
返回當前文件的文件型別定義 (DTD)。
Document.documentElement只讀-
返回作為文件直接子元素的
Element。對於 HTML 文件,這通常是表示文件<html>元素的HTMLHtmlElement物件。 Document.documentURI只讀-
將文件位置作為字串返回。
Document.embeds只讀-
返回文件中嵌入的
<embed>元素的HTMLCollection。 Document.featurePolicy實驗性功能 只讀-
返回應用於文件的特性策略的
FeaturePolicy介面。 Document.firstElementChild只讀-
返回當前文件的第一個子元素。
Document.fonts-
返回當前文件的
FontFaceSet介面。 Document.forms只讀-
返回文件中
<form>元素的HTMLCollection。 Document.fragmentDirective只讀-
返回當前文件的
FragmentDirective。 Document.fullscreenElement只讀-
此文件中當前處於全屏模式的元素。
Document.head只讀-
返回當前文件的
<head>元素。 -
返回一個布林值,指示頁面是否被視為隱藏。
Document.images只讀-
返回文件中影像的
HTMLCollection。 Document.implementation只讀-
返回與當前文件關聯的 DOM 實現。
Document.lastElementChild只讀-
返回當前文件的最後一個子元素。
Document.links只讀-
返回文件中超連結的
HTMLCollection。 Document.pictureInPictureElement只讀-
返回當前文件中以畫中畫模式呈現的
Element。 Document.pictureInPictureEnabled只讀-
如果畫中畫功能已啟用,則返回 true。
Document.plugins只讀-
返回可用外掛的
HTMLCollection。 Document.pointerLockElement只讀-
返回當指標被鎖定時代替滑鼠事件的目標元素。如果鎖定掛起、指標未鎖定或目標位於其他文件中,則為
null。 Document.prerendering只讀 實驗性功能-
返回一個布林值,指示文件當前是否正在透過 推測規則 API 啟動預渲染。
Document.scripts只讀-
返回文件中
<script>元素的HTMLCollection。 Document.scrollingElement只讀-
返回對滾動文件的
Element的引用。 Document.styleSheets只讀-
返回明確連結到文件或嵌入在文件中的樣式表的
CSSStyleSheet物件的StyleSheetList。 Document.timeline只讀-
返回作為
DocumentTimeline特殊例項的時間軸,該例項在頁面載入時自動建立。 Document.visibilityState只讀-
返回一個
string,表示文件的可見性狀態。可能的值為visible、hidden和unloaded。
HTMLDocument 的擴充套件
HTML 文件的 Document 介面繼承自 HTMLDocument 介面或為此類文件進行了擴充套件。
-
返回該文件的以分號分隔的 cookie 列表或設定單個 cookie。
Document.defaultView只讀-
返回對 window 物件的引用。
Document.designMode-
獲取/設定編輯整個文件的能力。
Document.dir-
獲取/設定文件的方向性 (rtl/ltr)。
Document.fullscreenEnabled只讀-
指示全屏模式是否可用。
Document.lastModified只讀-
返回文件最後修改的日期。
Document.location只讀-
返回當前文件的 URI。
Document.readyState只讀-
返回文件的載入狀態。
Document.referrer只讀-
返回連結到此頁面的頁面的 URI。
Document.title-
設定或獲取當前文件的標題。
Document.URL只讀-
將文件位置作為字串返回。
- 命名屬性
-
文件中的某些元素也作為屬性公開
- 對於每個
<embed>、<form>、<iframe>、<img>和<object>元素,其name(如果不為空)會公開。例如,如果文件包含<form name="my_form">,則document["my_form"](及其等效的document.my_form)會返回對該元素的引用。 - 對於每個
<object>元素,其id(如果不為空)會公開。 - 對於每個具有非空
name的<img>元素,其id(如果不為空)會公開。
如果屬性對應於單個元素,則直接返回該元素。如果該單個元素是 iframe,則返回其
contentWindow。如果屬性對應於多個元素,則返回包含所有這些元素的HTMLCollection。 - 對於每個
已廢棄的屬性
Document.alinkColor已廢棄-
返回或設定文件正文中活動連結的顏色。
Document.all已廢棄-
提供對文件中所有元素的訪問 — 它返回以文件節點為根的
HTMLAllCollection。這是一個遺留的非標準屬性,不應使用。 Document.anchors已廢棄 只讀-
返回文件中所有錨點的列表。
Document.applets已廢棄 只讀-
返回一個空的
HTMLCollection。遺留屬性,用於返回文件中的 applet 列表。 Document.bgColor已廢棄-
獲取/設定當前文件的背景顏色。
Document.charset已廢棄 只讀-
Document.characterSet的別名。請改用此屬性。 Document.domain已廢棄-
獲取/設定當前文件的域。
Document.fgColor已廢棄-
獲取/設定當前文件的前景色或文字顏色。
Document.fullscreen已廢棄-
當文件處於 全屏模式 時返回
true。 Document.inputEncoding已廢棄 只讀-
Document.characterSet的別名。請改用此屬性。 Document.lastStyleSheetSet已廢棄 只讀 非標準-
返回上次啟用的樣式表集的名稱。在透過設定
selectedStyleSheetSet的值更改樣式表之前,其值為null。 Document.linkColor已廢棄-
獲取/設定文件中超連結的顏色。
Document.preferredStyleSheetSet已廢棄 只讀 非標準-
返回頁面作者指定的首選樣式表集。
Document.rootElement已廢棄-
類似於
Document.documentElement,但僅適用於<svg>根元素。請改用此屬性。 Document.selectedStyleSheetSet已廢棄 非標準-
返回當前正在使用的樣式表集。
Document.styleSheetSets已廢棄 只讀 非標準-
返回文件中可用的樣式表集列表。
Document.vlinkColor已廢棄-
獲取/設定已訪問超連結的顏色。
Document.xmlEncoding已廢棄-
返回由 XML 聲明確定的編碼。
Document.xmlStandalone已廢棄-
如果 XML 宣告指定文件是獨立的(例如,DTD 的外部部分影響文件內容),則返回
true,否則返回false。 Document.xmlVersion已廢棄-
返回 XML 宣告中指定的版本號,如果宣告不存在則返回
"1.0"。
例項方法
此介面還繼承自 Node 和 EventTarget 介面。
Document.adoptNode()-
從外部文件中採用節點。
Document.append()-
在文件的最後一個子節點之後插入一組
Node物件或字串。 Document.ariaNotify()實驗性功能 非標準-
指定螢幕閱讀器應播報給定文字字串。
Document.browsingTopics()實驗性功能 非標準-
返回一個 Promise,該 Promise 包含一個物件陣列,表示使用者的熱門話題,每個話題來自最近的三個 epoch。預設情況下,該方法還會導致瀏覽器記錄呼叫者觀察到的當前頁面訪問,以便頁面主機名稍後可用於話題計算。有關更多詳細資訊,請參閱 話題 API。
Document.captureEvents()已廢棄-
請參閱
Window.captureEvents。 Document.caretPositionFromPoint()-
返回一個
CaretPosition物件,其中包含包含插入符的 DOM 節點以及插入符在該節點中的字元偏移量。 Document.caretRangeFromPoint()非標準-
獲取指定座標下文件片段的
Range物件。 Document.createAttribute()-
建立並返回一個新的
Attr物件。 Document.createAttributeNS()-
在給定名稱空間中建立並返回一個新的屬性節點。
Document.createCDATASection()-
建立並返回一個新的 CDATA 節點。
Document.createComment()-
建立並返回一個新的註釋節點。
Document.createDocumentFragment()-
建立一個新的文件片段。
Document.createElement()-
使用給定的標籤名稱建立一個新元素。
Document.createElementNS()-
使用給定的標籤名稱和名稱空間 URI 建立一個新元素。
Document.createEvent()已廢棄-
建立一個事件物件。
Document.createNodeIterator()-
建立一個
NodeIterator物件。 Document.createProcessingInstruction()-
建立一個新的
ProcessingInstruction物件。 Document.createRange()-
建立一個
Range物件。 Document.createTextNode()-
建立一個文字節點。
Document.createTouch()已廢棄 非標準-
建立一個
Touch物件。 Document.createTouchList()已廢棄 非標準-
建立一個
TouchList物件。 Document.createTreeWalker()-
建立一個
TreeWalker物件。 Document.elementFromPoint()-
返回指定座標處最頂層的元素。
Document.elementsFromPoint()-
返回指定座標處所有元素的陣列。
Document.enableStyleSheetsForSet()已廢棄 非標準-
啟用指定樣式表集的樣式表。
Document.exitFullscreen()-
停止文件的全屏元素以全屏顯示。
Document.exitPictureInPicture()-
將影片從浮動畫中畫視窗中移除,返回到其原始容器。
Document.exitPointerLock()-
釋放指標鎖定。
Document.getAnimations()-
返回當前所有生效的
Animation物件的陣列,其目標元素是document的後代。 Document.getBoxQuads()實驗性功能-
返回表示節點 CSS 片段的
DOMQuad物件列表。 Document.getElementById()-
返回對已識別元素的引用物件。
Document.getElementsByClassName()-
返回具有給定類名的元素列表。
Document.getElementsByTagName()-
返回具有給定標籤名的元素列表。
Document.getElementsByTagNameNS()-
返回具有給定標籤名和名稱空間的元素列表。
Document.getSelection()-
返回一個
Selection物件,表示使用者選定的文字範圍或插入符的當前位置。 Document.hasStorageAccess()-
返回一個
Promise,該 Promise 解析為布林值,指示文件是否可以訪問未分割槽的 cookie。 Document.importNode()-
返回外部文件中節點的克隆。
Document.moveBefore()-
將給定的
Node作為直接子節點移動到DocumentDOM 節點內部,在給定的引用節點之前,而無需先移除再插入節點。 Document.mozSetImageElement()非標準-
允許您更改用作指定元素 ID 背景影像的元素。
Document.prepend()-
在文件的第一個子節點之前插入一組
Node物件或字串。 Document.querySelector()-
返回文件中第一個匹配指定選擇器的 Element 節點,按文件順序排列。
Document.querySelectorAll()-
返回文件中所有匹配指定選擇器的 Element 節點的列表。
Document.releaseCapture()非標準-
如果滑鼠捕獲位於此文件中的某個元素上,則釋放當前滑鼠捕獲。
Document.releaseEvents()已廢棄Document.replaceChildren()-
用指定的新子節點集替換文件的現有子節點。
Document.requestStorageAccess()-
允許在第三方上下文(即嵌入在
<iframe>中)載入的文件請求訪問未分割槽的 cookie,在使用者代理預設阻止第三方上下文載入的站點訪問未分割槽的 cookie 以提高隱私的情況下。 Document.requestStorageAccessFor()實驗性功能-
允許頂級站點代表來自同一相關網站集中另一個站點的嵌入內容請求第三方 cookie 訪問。
Document.startViewTransition()-
啟動一個新的檢視過渡並返回一個
ViewTransition物件來表示它。
Document 介面透過 XPathEvaluator 介面進行擴充套件
Document.createExpression()-
編譯一個
XPathExpression,然後可以用於(重複)評估。 Document.createNSResolver()已廢棄-
按原樣返回輸入節點。
Document.evaluate()-
評估 XPath 表示式。
HTML 文件的擴充套件
HTML 文件的 Document 介面繼承自 HTMLDocument 介面或為此類文件進行了擴充套件
Document.clear()已廢棄-
此方法不執行任何操作。
Document.close()-
關閉用於寫入的文件流。
Document.execCommand()已廢棄-
在可編輯文件上,執行格式化命令。
Document.getElementsByName()-
返回具有給定名稱的元素列表。
Document.hasFocus()-
如果焦點當前位於指定文件內的任何位置,則返回
true。 Document.open()-
開啟用於寫入的文件流。
Document.queryCommandEnabled()已廢棄 非標準-
如果可以在當前範圍內執行格式化命令,則返回 true。
Document.queryCommandIndeterm()已廢棄-
如果格式化命令在當前範圍內處於不確定狀態,則返回 true。
Document.queryCommandState()已廢棄 非標準-
如果格式化命令已在當前範圍內執行,則返回 true。
Document.queryCommandSupported()已廢棄 非標準-
如果格式化命令在當前範圍內受支援,則返回 true。
Document.queryCommandValue()已廢棄-
返回當前範圍內格式化命令的當前值。
Document.write()已廢棄-
在文件中寫入文字。
Document.writeln()已廢棄-
在文件中寫入一行文字。
靜態方法
此介面還繼承自 Node 和 EventTarget 介面。
Document.parseHTML()-
以 XSS 安全的方式,透過淨化從 HTML 字串建立一個新的
Document物件。 Document.parseHTMLUnsafe()-
從 HTML 字串建立一個新的
Document物件,而不執行淨化。該字串可能包含宣告性 Shadow Root。
事件
使用 addEventListener() 或透過將事件監聽器分配給此介面的 oneventname 屬性來監聽這些事件。除了下面列出的事件,許多事件可以從文件樹中包含的節點冒泡。
afterscriptexecute非標準 已廢棄-
當靜態
<script>元素完成執行其指令碼時觸發 beforescriptexecute非標準 已廢棄-
當靜態
<script>即將開始執行時觸發。 prerenderingchange實驗性功能-
當預渲染文件被啟用時(即使用者檢視頁面時)觸發。
securitypolicyviolation-
當內容安全策略被違反時觸發。
visibilitychange-
當選項卡內容變為可見或被隱藏時觸發。
全屏事件
fullscreenchange-
當
Document進入或退出 全屏 模式時觸發。 fullscreenerror-
嘗試進入或退出 全屏 模式時發生錯誤時觸發。
載入和解除安裝事件
DOMContentLoaded-
當文件完全載入和解析完成時觸發,無需等待樣式表、影像和子幀載入完成。
readystatechange-
當文件的
readyState屬性發生更改時觸發。
指標鎖定事件
pointerlockchange-
當指標鎖定/解鎖時觸發。
pointerlockerror-
當鎖定指標失敗時觸發。
滾動事件
scroll-
當文件檢視或元素已滾動時觸發。
scrollend-
當文件檢視或元素完成滾動時觸發。
scrollsnapchange實驗性功能-
在滾動操作結束時,當選擇了新的滾動捕捉目標時,在滾動容器上觸發。
scrollsnapchanging實驗性功能-
當瀏覽器確定一個新的滾動捕捉目標即將生效時,在滾動容器上觸發,即它將在當前滾動手勢結束時被選中。
選擇事件
selectionchange-
當文件上的當前文字選擇發生更改時觸發。
冒泡事件
並非所有冒泡事件都能到達 Document 物件。只有以下事件能夠到達,並且可以在 Document 物件上進行監聽
abortauxclickbeforeinputbeforematchbeforetoggleblurcancelcanplaycanplaythroughchangeclickclosecontextlostcontextmenucontextrestoredcopycuechangecutdblclickdragdragenddragenterdragleavedragoverdragstartdropdurationchangeemptiedendederrorfocusformdatainputinvalidkeydownkeypresskeyuploadloadeddataloadedmetadataloadstartmousedownmouseentermouseleavemousemovemouseoutmouseovermouseuppastepauseplayplayingprogressratechangeresetresizescrollscrollendsecuritypolicyviolationseekedseekingselectslotchangestalledsubmitsuspendtimeupdatetogglevolumechangewaitingwheel
規範
| 規範 |
|---|
| DOM # 介面-文件 |
| HTML # 文件物件 |
| CSSOM 檢視模組 # 文件介面的擴充套件 |
| 指標鎖定 2.0 # 文件介面的擴充套件 |
| Selection API # 文件介面的擴充套件 |
瀏覽器相容性
載入中…