Document

Baseline 廣泛可用 *

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

* 此特性的某些部分可能存在不同級別的支援。

Document 介面表示瀏覽器中載入的任何網頁,並作為網頁內容(即 DOM 樹)的入口點。

DOM 樹包括 <body><table> 等元素,以及許多其他元素。它提供了對文件的全域性功能,例如如何獲取頁面 URL 並在文件中建立新元素。

EventTarget Node Document

Document 介面描述了任何型別文件的常見屬性和方法。根據文件的型別(例如,HTMLXML、SVG 等),可以使用更大的 API:使用 "text/html" 內容型別提供的 HTML 文件還實現了 HTMLDocument 介面,而 XML 和 SVG 文件實現了 XMLDocument 介面。

建構函式

Document()

建立一個新的 Document 物件。

例項屬性

此介面還繼承自 NodeEventTarget 介面。

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.hidden 只讀

返回一個布林值,指示頁面是否被視為隱藏。

Document.images 只讀

返回文件中影像的 HTMLCollection

Document.implementation 只讀

返回與當前文件關聯的 DOM 實現。

Document.lastElementChild 只讀

返回當前文件的最後一個子元素。

返回文件中超連結的 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,表示文件的可見性狀態。可能的值為 visiblehiddenunloaded

HTMLDocument 的擴充套件

HTML 文件的 Document 介面繼承自 HTMLDocument 介面或為此類文件進行了擴充套件。

Document.cookie

返回該文件的以分號分隔的 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"

例項方法

此介面還繼承自 NodeEventTarget 介面。

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.hasUnpartitionedCookieAccess()

Document.hasStorageAccess() 的新名稱。

Document.importNode()

返回外部文件中節點的克隆。

Document.moveBefore()

將給定的 Node 作為直接子節點移動到 Document DOM 節點內部,在給定的引用節點之前,而無需先移除再插入節點。

Document.mozSetImageElement() 非標準

允許您更改用作指定元素 ID 背景影像的元素。

Document.prepend()

在文件的第一個子節點之前插入一組 Node 物件或字串。

Document.querySelector()

返回文件中第一個匹配指定選擇器的 Element 節點,按文件順序排列。

Document.querySelectorAll()

返回文件中所有匹配指定選擇器的 Element 節點的列表。

Document.releaseCapture() 非標準

如果滑鼠捕獲位於此文件中的某個元素上,則釋放當前滑鼠捕獲。

Document.releaseEvents() 已廢棄

請參閱 Window.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() 已廢棄

在文件中寫入一行文字。

靜態方法

此介面還繼承自 NodeEventTarget 介面。

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 物件上進行監聽

規範

規範
DOM
# 介面-文件
HTML
# 文件物件
CSSOM 檢視模組
# 文件介面的擴充套件
指標鎖定 2.0
# 文件介面的擴充套件
Selection API
# 文件介面的擴充套件

瀏覽器相容性