文档

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,表示文档的可见性状态。可能的值为 visiblehiddenprerenderunloaded

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 只读

以字符串形式返回文档位置。

已弃用的属性

Document.alinkColor 已弃用

返回或设置文档正文中活动链接的颜色。

Document.all 已弃用

提供对文档中所有元素的访问权限 - 它返回一个以文档节点为根的HTMLAllCollection。这是一个遗留的、非标准的属性,不应使用。

Document.anchors 已弃用 只读

返回文档中所有锚点的列表。

Document.applets 已弃用 只读

返回一个空的HTMLCollection。用于返回文档中小程序列表的遗留属性。

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.browsingTopics() 实验性 非标准

返回一个 Promise,该 Promise 将以一个对象数组的形式完成,这些对象表示用户的顶级主题,每个主题来自过去三个时期的每个主题。默认情况下,此方法还会导致浏览器记录调用者观察到的当前页面访问,以便稍后可以在主题计算中使用页面的主机名。有关更多详细信息,请参阅主题 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对象的数组,这些对象的 target 元素是document的后代。

Document.getBoxQuads() 实验性

返回一个DOMQuad对象列表,这些对象表示节点的 CSS 片段。

Document.getElementById()

返回对已识别元素的对象引用。

Document.getElementsByClassName()

返回具有给定类名的元素列表。

Document.getElementsByTagName()

返回具有给定标签名称的元素列表。

Document.getElementsByTagNameNS()

返回具有给定标签名称和命名空间的元素列表。

Document.getSelection()

返回一个表示用户选择的文本范围或插入符号当前位置的Selection 对象。

Document.hasStorageAccess()

返回一个Promise,该 Promise 解析为一个布尔值,指示文档是否可以访问未分区 cookie。

Document.hasUnpartitionedCookieAccess()

Document.hasStorageAccess() 的新名称。

Document.importNode()

返回来自外部文档的节点的克隆。

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

从 HTML 字符串创建一个新的 Document 对象,而不执行清理。该字符串可能包含声明性阴影根。

事件

使用addEventListener() 或通过将事件侦听器分配到此接口的oneventname 属性来侦听这些事件。除了下面列出的事件外,许多事件还可以从文档树中包含的节点冒泡。

afterscriptexecute 非标准

当静态<script> 元素完成其脚本的执行时触发。

beforescriptexecute 非标准

当静态<script> 即将开始执行时触发。

prerenderingchange 实验性

当预渲染的文档被激活(即用户查看页面)时,在该文档上触发。

securitypolicyviolation

当违反内容安全策略时触发。

visibilitychange

当选项卡的内容可见或隐藏时触发。

剪贴板事件

复制

当用户通过浏览器的用户界面启动复制操作时触发。

剪切

当用户通过浏览器的用户界面启动剪切操作时触发。

粘贴

当用户通过浏览器的用户界面启动粘贴操作时触发。

全屏事件

fullscreenchange

Document 转换进入或退出全屏模式时触发。

fullscreenerror

如果在尝试切换进入或退出全屏模式时发生错误,则触发。

加载和卸载事件

DOMContentLoaded

当文档已完全加载和解析时触发,无需等待样式表、图像和子框架完成加载。

readystatechange

当文档的readyState 属性发生更改时触发。

指针锁定事件

pointerlockchange

当指针被锁定/解锁时触发。

pointerlockerror

当锁定指针失败时触发。

滚动事件

滚动

当文档视图或元素已被滚动时触发。

scrollend

当文档视图或元素已完成滚动时触发。

选择事件

selectionchange

当文档上的当前文本选择发生更改时触发。

规范

规范
DOM 标准
# interface-document
HTML 标准
# the-document-object
CSSOM 视图模块
# extensions-to-the-document-interface
指针锁定 2.0
# extensions-to-the-document-interface
选择 API
# extensions-to-document-interface

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。