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 # 文档接口的扩展 |
浏览器兼容性
加载中…