文档
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
、prerender
和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
只读-
以字符串形式返回文档位置。
已弃用的属性
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”。
实例方法
此接口还继承自 Node
和 EventTarget
接口。
Document.adoptNode()
-
从外部文档中采用节点。
Document.append()
-
在文档的最后一个子节点之后插入一组
Node
对象或字符串。 Document.browsingTopics()
实验性 非标准-
返回一个 Promise,该 Promise 将以一个对象数组的形式完成,这些对象表示用户的顶级主题,每个主题来自过去三个时期的每个主题。默认情况下,此方法还会导致浏览器记录调用者观察到的当前页面访问,以便稍后可以在主题计算中使用页面的主机名。有关更多详细信息,请参阅主题 API。
Document.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.importNode()
-
返回来自外部文档的节点的克隆。
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.parseHTMLUnsafe()
-
从 HTML 字符串创建一个新的
Document
对象,而不执行清理。该字符串可能包含声明性阴影根。
事件
使用addEventListener()
或通过将事件侦听器分配到此接口的oneventname
属性来侦听这些事件。除了下面列出的事件外,许多事件还可以从文档树中包含的节点冒泡。
afterscriptexecute
非标准-
当静态
<script>
元素完成其脚本的执行时触发。 beforescriptexecute
非标准-
当静态
<script>
即将开始执行时触发。 prerenderingchange
实验性-
当预渲染的文档被激活(即用户查看页面)时,在该文档上触发。
securitypolicyviolation
-
当违反内容安全策略时触发。
visibilitychange
-
当选项卡的内容可见或隐藏时触发。
剪贴板事件
全屏事件
fullscreenchange
-
当
Document
转换进入或退出全屏模式时触发。 fullscreenerror
-
如果在尝试切换进入或退出全屏模式时发生错误,则触发。
加载和卸载事件
DOMContentLoaded
-
当文档已完全加载和解析时触发,无需等待样式表、图像和子框架完成加载。
readystatechange
-
当文档的
readyState
属性发生更改时触发。
指针锁定事件
pointerlockchange
-
当指针被锁定/解锁时触发。
pointerlockerror
-
当锁定指针失败时触发。
滚动事件
选择事件
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 的浏览器中加载。