Document
Document
接口表示任何在浏览器中载入的网页,并作为网页内容的入口,也就是 DOM 树。
DOM 树包含了像 <body>
、<table>
这样的元素,以及大量其他元素。它向网页文档本身提供了全局操作功能,能解决如何获取页面的 URL,如何在文档中创建一个新的元素这样的问题。
Document
接口描述了任何类型的文档的通用属性与方法。根据不同的文档类型(例如 HTML、XML、SVG,...),还能使用更多 API:使用 "text/html"
作为内容类型(content type)的 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
只读-
指示文档是否以怪异模式(quirks)或严格模式(strict)渲染。
Document.contentType
只读-
根据当前文档的 MIME 标头,返回它的 Content-Type。
Document.currentScript
只读-
返回目前正在处理且不是 JavaScript 模块的
<script>
元素。 Document.doctype
只读-
返回当前文档的文档类型定义(Document Type Definition,DTD)。
Document.documentElement
只读-
返回当前文档的直接子节点。对于 HTML 文档,
HTMLHtmlElement
对象一般代表该文档的<html>
元素。 Document.documentURI
只读-
以字符串的类型,返回当前文档的路径。
Document.embeds
只读-
返回一个包含当前文档的嵌入式的元素
<embed>
的HTMLCollection
。 Document.firstElementChild
只读-
返回当前文档的第一个子元素。
Document.fonts
-
返回当前文档的
FontFaceSet
接口。 Document.forms
只读-
返回一个包含当前文档中所有表单元素
<form>
的HTMLCollection
。 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.featurePolicy
实验性 只读-
返回一个
FeaturePolicy
接口,该结构为应用于特定文档的特性策略提供了一个简单的 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.domain
已弃用-
获取或设置当前文档的域。
Document.lastModified
只读-
返回文档最后修改的时间。
Document.location
只读-
返回当前文档的 URI。
Document.readyState
只读-
返回当前文档的加载状态。
Document.referrer
只读-
返回来源页面的 URI。
Document.title
-
获取或设置当前文档的标题。
Document.URL
只读-
以字符串形式返回文档的地址栏链接。
已弃用的属性
Document.alinkColor
已弃用-
获取或设置文档正文部分启用的链接的颜色。
Document.all
已弃用-
返回一个以文档节点为根节点的
HTMLAllCollection
集合,以访问文档中所有的元素。这是遗留的非标准属性,不应使用。 Document.anchors
已弃用 只读-
返回文档中所有锚点元素的列表。
Document.applets
已弃用 只读-
返回文档中
applet
对象的有序列表。 Document.bgColor
已弃用-
获取或设置当前文档的背景颜色。
Document.charset
已弃用 只读-
Document.characterSet
的别名,请使用原始属性替换。 Document.fullscreen
已弃用-
若文档处于全屏模式,则返回
true
。 Document.height
非标准 已弃用-
获取或设置当前文档的高度。
Document.inputEncoding
只读 已弃用-
Document.characterSet
的别名,请使用原始属性替换。 Document.lastStyleSheetSet
已弃用 只读 非标准-
返回最后启用的样式表的名字。在设置
selectedStyleSheetSet
前,其值都为null
。 Document.linkColor
已弃用-
获取或设置文档中超链接的颜色。
Document.preferredStyleSheetSet
已弃用 只读 非标准-
返回文档作者首选的样式表。
Document.rootElement
已弃用-
类似于
Document.documentElement
,但其仅用于<svg>
根元素。请使用后者代替。 Document.selectedStyleSheetSet
已弃用 只读-
返回当前正使用的样式表的集合。
Document.styleSheetSets
已弃用 只读 非标准-
返回文档上可用样式表的集合。
Document.vlinkColor
已弃用-
获取或设置被访问的超链接的颜色。
Document.width
非标准 已弃用-
返回当前文档的宽度。
Document.xmlEncoding
已弃用-
返回由 XML 声明的编码类型。
Document.xmlStandalone
已弃用-
若 XML 声明指定的文档是独立的(例如:文档类型定义的外部内容会影响文档的内容),则返回
true
,否则返回false
。 Document.xmlVersion
已弃用-
返回 XML 声明中指定的版本号,若声明不存在则为
"1.0"
。
方法
该接口同样继承了 Node
和 EventTarget
接口。
Document.adoptNode()
-
从外部文档中采用的节点。
Document.append()
-
在文档的最后一个子节点后插入一个
Node
对象或字符串对象的集合。 Document.captureEvents()
已弃用Document.caretPositionFromPoint()
-
返回一个包含 DOM 节点(包含插入符号以及该符号在节点中的字符偏移量)的
CaretPosition
对象。 Document.caretRangeFromPoint()
非标准-
获取一个
Range
对象,其为指定坐标下的文档片段。 Document.createAttribute()
-
创建一个新的
Attr
对象并返回。 Document.createAttributeNS()
-
在给定命名空间创建一个新的属性节点并返回。
Document.createCDATASection()
-
创建一个新的数据(CDATA)节点并返回。
Document.createComment()
-
创建一个新的注释节点并返回。
Document.createDocumentFragment()
-
创建一个新的文档片段。
Document.createElement()
-
用给定标签名创建一个新的元素。
Document.createElementNS()
-
用给定标签名和命名空间创建一个新的元素。
Document.createEntityReference()
已弃用-
创建一个新的实体引用对象并返回。
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.exitPictureInPicture()
-
从浮动的画中画窗口中移除视频,并返回到它的原始容器。
Document.exitPointerLock()
-
释放指针锁。
Document.getAnimations()
-
返回包含所有目前有效的
Animation
对象(其目标元素为document
)的数组。 Document.getBoxQuads()
实验性-
返回一个
DOMQuad
对象(表示节点中的 CSS 片段)的列表。 Document.getElementById()
-
返回标识元素的引用对象。
Document.getElementsByClassName()
-
返回具有给定类名的元素列表。
Document.getElementsByTagName()
-
返回具有给定标签名的元素列表。
Document.getElementsByTagNameNS()
-
返回具有给定标签名和命名空间的元素列表。
Document.getSelection()
-
返回一个
Selection
对象,表示用户选择的文本范围或是插入符号当前的位置。 Document.hasStorageAccess()
-
返回一个
Promise
,会兑现一个布尔值,用于表示文档是否有访问第一方储存的权限。 Document.importNode()
-
返回外部文档的节点的拷贝。
Document.normalizeDocument()
已弃用-
替换实体、规范化文本节点,等待。
Document.prepend()
-
在文档的第一个子节点前插入一个
Node
对象或字符串对象的集合。 Document.querySelector()
-
返回文档中与指定的选择器匹配的第一个元素节点。
Document.querySelectorAll()
-
返回包含文档中与指定的选择器匹配的所有元素节点的列表。
Document.releaseCapture()
非标准-
若鼠标在当前文档的某一个元素之上,则释放当前的鼠标捕获。
Document.releaseEvents()
已弃用Document.replaceChildren()
-
用一哥指定的新的子节点集合替换替换文档中现有的子节点。
Document.requestStorageAccess()
-
返回一个
Promise
,若第一方存储权限可用,则兑现,否则拒绝。 Document.mozSetImageElement()
非标准-
允许你使用具有给定 ID 的元素作为背景图片。
Document
接口使用 XPathEvaluator
接口扩展:
Document.createExpression()
-
编译一个
XPathExpression
,以用于(重复)执行。 Document.createNSResolver()
-
创建一个
XPathNSResolver
对象。 Document.evaluate()
-
执行一个 XPath 表达式。
HTML 文档的扩展
HTML 文档的 Document
接口继承自 HTMLDocument
接口,或扩展了这些方法:
Document.clear()
已弃用-
在大多数现代浏览器中,包括最新版本的 Firefox 和 Internet Explorer,这个方法没有任何作用。
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()
-
向文档写入一行文本。
事件
列出了使用 addEventListener()
或为接口的事件处理器属性 oneventname
赋值的方式来监听的事件。
afterscriptexecute
非标准-
在静态的
<script>
元素执行完其中的脚本时触发。 beforescriptexecute
-
在静态的
<script>
开始执行脚本时触发。 scroll
-
在滚动文档视图或元素时触发。
visibilitychange
-
在变前的内容变为可见、隐藏时触发。
wheel
-
在用户在点击设备(通常为鼠标)上转动滚轮时触发。
动画事件
animationcancel
-
在动画意外中止时触发。
animationend
-
在动画正常完成时触发。
animationiteration
-
在动画迭代完成时触发。
animationstart
-
在动画开始时触发。
剪切板事件
拖放事件
全屏事件
fullscreenchange
-
在
Document
进入或退出全屏模式时触发。 fullscreenerror
-
在尝试进入或退出全屏模式而发生错误时触发。
键盘事件
加载和卸载事件
DOMContentLoaded
-
在文档完全加载并解析后触发,无需等待样式表、图像和子框架完成加载。
readystatechange
-
在文档的
readyState
属性发生变化时触发。
指针事件
gotpointercapture
-
在使用
setPointerCapture()
捕获元素时触发。 lostpointercapture
-
在捕获指针释放时触发。
pointercancel
-
在指针事件取消时触发。
pointerdown
-
在指针变为活动状态时触发。
pointerenter
-
在指针移入到元素或其子元素之一的命中测试边界时触发。
pointerleave
-
在指针移出元素的命中测试边界时触发。
pointerlockchange
-
在指针被锁定或解锁时触发。
pointerlockerror
-
在指针锁定失败时触发。
pointermove
-
在指针坐标改变时触发。
pointerout
-
在指正移除元素的命中测试边界(或其他原因)时触发。
pointerover
-
在指针移入元素的命中测试边界时触发。
pointerup
-
在指针不再活动时触发。
选择事件
selectionchange
-
在文档中的选中的文本发生改变时触发。
触摸事件
touchcancel
-
在一个或多个接触点以特定于实现的方式中断(例如,创建了太多的接触点)时触发。
touchend
-
在从接触面移除一个或多个接触点时触发。
touchmove
-
在一个或多个接触点沿接触面移动时触发。
touchstart
-
在向接触面放置一个或多个接触点时触发。
过渡事件
transitioncancel
-
在 CSS 过渡取消时触发。
transitionend
-
在 CSS 过渡完成时触发。
transitionrun
-
在 CSS 过渡第一次创建时触发。
transitionstart
-
在 CSS 过渡实际开始时触发。
规范
浏览器兼容性
BCD tables only load in the browser