Document

Document 接口表示任何在浏览器中载入的网页,并作为网页内容的入口,也就是DOM 树。DOM 树包含了像 <body><table> 这样的元素,以及大量其他元素。它向网页文档本身提供了全局操作功能,能解决如何获取页面的 URL ,如何在文档中创建一个新的元素这样的问题。

Document 接口描述了任何类型的文档的通用属性与方法。根据不同的文档类型(例如HTMLXMLSVG,...),还能使用更多 API:使用 "text/html" 作为内容类型(content type)的 HTML 文档,还实现了 HTMLDocument 接口,而 XML 和 SVG 文档则(额外)实现了 XMLDocument 接口。

构造器

Document()
创建一个新的 Document 对象。

属性

此接口也继承自 NodeEventTarget 接口。

Document.all 只读
返回一个以文档节点为根节点的 HTMLAllCollection 集合。换句话说,它能返回页面的完整内容。
Document.anchors 只读
返回文档中所有锚点元素的列表。
Document.body
返回当前文档的 <body><frameset> 节点。
Document.characterSet 只读
返回文档正在使用的字符集。
Document.compatMode 只读
指示文档是否以 quirks 怪异模式或 strict 严格模式呈现。
Document.contentType 只读
根据当前文档的 MIME Header,返回它的 Content-Type。
Document.doctype 只读
返回当前文档的文档类型定义(Document Type Definition, DTD)。
Document.documentElement 只读
返回当前文档的直接子节点。对于 HTML 文档,HTMLHtmlElement 对象一般代表该文档的<html> 元素。
Document.documentURI 只读
以字符串的类型,返回当前文档的路径。
Document.embeds 只读
以列表(list)的类型,返回当前文档的嵌入式的元素 <embed>
Document.fonts
返回当前文档的 FontFaceSet 接口。
Document.forms 只读
返回一个包含当前文档中所有表单元素 <form> 的列表。
Document.head 只读
返回当前文档的 <head> 元素。
Document.hidden 只读
返回一个布尔值,表明当前页面是否隐藏。
Document.images 只读
返回当前文档中所包含的图片的列表。
Document.implementation 只读
返回与当前文档相关联的 DOM 实现。
Document.lastStyleSheetSet 只读
返回最后启用样式表的名字。在设置selectedStyleSheetSet 前值都为 null 。 
Document.links 只读
返回一个包含文档中所有超链接的列表。
Document.mozSyntheticDocument
返回 Boolean ,仅当此文件是合成的(例如独立图像,视频,音频文件等)时才为 true 。
Document.plugins 只读
返回一个可用插件列表。
Document.featurePolicy (en-US) 只读
返回 FeaturePolicy (en-US) interface which provides a simple API for introspecting the feature policies applied to a specific document.
Document.preferredStyleSheetSet 只读
返回 preferred style sheet set as specified by the page author.
Document.scripts 只读
返回文档中所有的 <script> 元素。
Document.scrollingElement 只读
返回对文档 Element 元素的引用。
Document.selectedStyleSheetSet
返回当前正使用的样式表集。
Document.styleSheetSets 只读
返回文档上可用样式表的列表。
Document.timeline 只读
返回 DocumentTimeline (en-US) 的一个实例,该实例是在页面加载时自动创建的。
Document.undoManager 只读
Document.visibilityState 只读
返回 string 表明当前文档的可见性。可能的取值有 visible, hidden, prerender, and unloaded 。

Document 接口继承自 ParentNode 的接口:

{{page("/en-US/docs/Web/API/ParentNode","Properties")}}

HTMLDocument 的扩展

HTML 文件的 Document 接口继承自 HTMLDocument 接口(从 HTML5 扩展):

Document.cookie
返回一个使用分号分隔的 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 只读
以字符串形式返回文档的地址栏链接。

DocumentOrShadowRoot 包含的属性

Document 接口混入(mixin)DocumentOrShadowRoot 包含的属性。请注意,这些属性目前仅有 Chrome 实现;其他浏览器仍在 Document 接口上直接实现它们。.

DocumentOrShadowRoot.activeElement 只读
返回阴影树内聚焦的 Element
Document.fullscreenElement 只读
当前文档处于全屏模式下的元素。
DocumentOrShadowRoot.pointerLockElement 只读
返回 element set as the target for mouse events while the pointer is locked. null if lock is pending, pointer is unlocked, or if the target is in another document.
DocumentOrShadowRoot.styleSheets 只读
Returns a StyleSheetList of CSSStyleSheet objects for stylesheets explicitly linked into, or embedded in a document.

Event handlers

Document.onafterscriptexecute
Represents the event handling code for the afterscriptexecute (en-US) event.
Document.onbeforescriptexecute
Represents the event handling code for the beforescriptexecute (en-US) event.
Document.oncopy
Represents the event handling code for the copy (en-US) event.
Document.oncut
Represents the event handling code for the cut (en-US) event.
Document.onfullscreenchange
Is an event handler representing the code to be called when the fullscreenchange (en-US) event is raised.
Document.onfullscreenerror
Is an event handler representing the code to be called when the fullscreenerror (en-US) event is raised.
Document.onpaste
Represents the event handling code for the paste (en-US) event.
Document.onreadystatechange
Represents the event handling code for the readystatechange (en-US) event.
Document.onselectionchange (en-US)
Is an event handler representing the code to be called when the selectionchange event is raised.
Document.onvisibilitychange
Is an event handler representing the code to be called when the visibilitychange (en-US) event is raised.

The Document interface is extended with the GlobalEventHandlers interface:

GlobalEventHandlers.onabort
Is an event handler representing the code to be called when the abort event is raised.
GlobalEventHandlers.onanimationcancel
An event handler called when an animationcancel event is sent, indicating that a running CSS animation has been canceled.
GlobalEventHandlers.onanimationend
An event handler called when an animationend event is sent, indicating that a CSS animation has stopped playing.
GlobalEventHandlers.onanimationiteration
An event handler called when an animationiteration event has been sent, indicating that a CSS animation has begun playing a new iteration of the animation sequence.
GlobalEventHandlers.onanimationstart
An event handler called when an animationstart event is sent, indicating that a CSS animation has started playing.
GlobalEventHandlers.onauxclick
An event handler called when an auxclick event is sent, indicating that a non-primary button has been pressed on an input device (e.g. a middle mouse button).
GlobalEventHandlers.onblur
Is an event handler representing the code to be called when the blur event is raised.
GlobalEventHandlers.onerror
Is an OnErrorEventHandler representing the code to be called when the error event is raised.
GlobalEventHandlers.onfocus
Is an event handler representing the code to be called when the focus event is raised.
GlobalEventHandlers.oncancel
Is an event handler representing the code to be called when the cancel event is raised.
GlobalEventHandlers.oncanplay
Is an event handler representing the code to be called when the canplay event is raised.
GlobalEventHandlers.oncanplaythrough
Is an event handler representing the code to be called when the canplaythrough event is raised.
GlobalEventHandlers.onchange
Is an event handler representing the code to be called when the change event is raised.
GlobalEventHandlers.onclick
Is an event handler representing the code to be called when the click event is raised.
GlobalEventHandlers.onclose
Is an event handler representing the code to be called when the close event is raised.
GlobalEventHandlers.oncontextmenu
Is an event handler representing the code to be called when the contextmenu event is raised.
GlobalEventHandlers.oncuechange
Is an event handler representing the code to be called when the cuechange event is raised.
GlobalEventHandlers.ondblclick
Is an event handler representing the code to be called when the dblclick event is raised.
GlobalEventHandlers.ondrag
Is an event handler representing the code to be called when the drag event is raised.
GlobalEventHandlers.ondragend
Is an event handler representing the code to be called when the dragend event is raised.
GlobalEventHandlers.ondragenter
Is an event handler representing the code to be called when the dragenter event is raised.
GlobalEventHandlers.ondragexit
Is an event handler representing the code to be called when the dragexit event is raised.
GlobalEventHandlers.ondragleave
Is an event handler representing the code to be called when the dragleave event is raised.
GlobalEventHandlers.ondragover
Is an event handler representing the code to be called when the dragover event is raised.
GlobalEventHandlers.ondragstart
Is an event handler representing the code to be called when the dragstart event is raised.
GlobalEventHandlers.ondrop
Is an event handler representing the code to be called when the drop event is raised.
GlobalEventHandlers.ondurationchange
Is an event handler representing the code to be called when the durationchange event is raised.
GlobalEventHandlers.onemptied
Is an event handler representing the code to be called when the emptied event is raised.
GlobalEventHandlers.onended
Is an event handler representing the code to be called when the ended event is raised.
GlobalEventHandlers.onformdata
Is an event handler for processing formdata events, fired after the entry list representing the form's data is constructed.
GlobalEventHandlers.ongotpointercapture
Is an event handler representing the code to be called when the gotpointercapture event type is raised.
GlobalEventHandlers.oninput
Is an event handler representing the code to be called when the input event is raised.
GlobalEventHandlers.oninvalid
Is an event handler representing the code to be called when the invalid event is raised.
GlobalEventHandlers.onkeydown
Is an event handler representing the code to be called when the keydown event is raised.
GlobalEventHandlers.onkeypress
Is an event handler representing the code to be called when the keypress event is raised.
GlobalEventHandlers.onkeyup
Is an event handler representing the code to be called when the keyup event is raised.
GlobalEventHandlers.onload
Is an event handler representing the code to be called when the load event is raised.
GlobalEventHandlers.onloadeddata
Is an event handler representing the code to be called when the loadeddata event is raised.
GlobalEventHandlers.onloadedmetadata
Is an event handler representing the code to be called when the loadedmetadata event is raised.
GlobalEventHandlers.onloadend
Is an event handler representing the code to be called when the loadend event is raised (when progress has stopped on the loading of a resource.)
GlobalEventHandlers.onloadstart
Is an event handler representing the code to be called when the loadstart event is raised (when progress has begun on the loading of a resource.)
GlobalEventHandlers.onlostpointercapture
Is an event handler representing the code to be called when the lostpointercapture event type is raised.
GlobalEventHandlers.onmousedown
Is an event handler representing the code to be called when the mousedown event is raised.
GlobalEventHandlers.onmouseenter
Is an event handler representing the code to be called when the mouseenter event is raised.
GlobalEventHandlers.onmouseleave
Is an event handler representing the code to be called when the mouseleave event is raised.
GlobalEventHandlers.onmousemove
Is an event handler representing the code to be called when the mousemove event is raised.
GlobalEventHandlers.onmouseout
Is an event handler representing the code to be called when the mouseout event is raised.
GlobalEventHandlers.onmouseover
Is an event handler representing the code to be called when the mouseover event is raised.
GlobalEventHandlers.onmouseup
Is an event handler representing the code to be called when the mouseup event is raised.
GlobalEventHandlers.onmousewheel
Is an event handler representing the code to be called when the mousewheel event is raised. Deprecated. Use onwheel instead.
GlobalEventHandlers.onwheel
Is an event handler representing the code to be called when the wheel event is raised.
GlobalEventHandlers.onpause
Is an event handler representing the code to be called when the pause event is raised.
GlobalEventHandlers.onplay
Is an event handler representing the code to be called when the play event is raised.
GlobalEventHandlers.onplaying
Is an event handler representing the code to be called when the playing event is raised.
GlobalEventHandlers.onpointerdown
Is an event handler representing the code to be called when the pointerdown event is raised.
GlobalEventHandlers.onpointermove
Is an event handler representing the code to be called when the pointermove event is raised.
GlobalEventHandlers.onpointerup
Is an event handler representing the code to be called when the pointerup event is raised.
GlobalEventHandlers.onpointercancel
Is an event handler representing the code to be called when the pointercancel event is raised.
GlobalEventHandlers.onpointerover
Is an event handler representing the code to be called when the pointerover event is raised.
GlobalEventHandlers.onpointerout
Is an event handler representing the code to be called when the pointerout event is raised.
GlobalEventHandlers.onpointerenter
Is an event handler representing the code to be called when the pointerenter event is raised.
GlobalEventHandlers.onpointerleave
Is an event handler representing the code to be called when the pointerleave event is raised.
GlobalEventHandlers.onpointerlockchange
Is an event handler representing the code to be called when the pointerlockchange event is raised.
GlobalEventHandlers.onpointerlockerror
Is an event handler representing the code to be called when the pointerlockerror event is raised.
GlobalEventHandlers.onprogress
Is an event handler representing the code to be called when the progress event is raised.
GlobalEventHandlers.onratechange
Is an event handler representing the code to be called when the ratechange event is raised.
GlobalEventHandlers.onreset
Is an event handler representing the code to be called when the reset event is raised.
GlobalEventHandlers.onresize
Is an event handler representing the code to be called when the resize event is raised.
GlobalEventHandlers.onscroll
Is an event handler representing the code to be called when the scroll event is raised.
GlobalEventHandlers.onseeked
Is an event handler representing the code to be called when the seeked event is raised.
GlobalEventHandlers.onseeking
Is an event handler representing the code to be called when the seeking event is raised.
GlobalEventHandlers.onselect
Is an event handler representing the code to be called when the select event is raised.
GlobalEventHandlers.onselectstart
Is an event handler representing the code to be called when the selectionchange event is raised, i.e. when the user starts to make a new text selection on a web page.
GlobalEventHandlers.onselectionchange
Is an event handler representing the code to be called when the selectionchange event is raised, i.e. when the text selected on a web page changes.
GlobalEventHandlers.onshow
Is an event handler representing the code to be called when the show event is raised.
GlobalEventHandlers.onstalled
Is an event handler representing the code to be called when the stalled event is raised.
GlobalEventHandlers.onsubmit
Is an event handler representing the code to be called when the submit event is raised.
GlobalEventHandlers.onsuspend
Is an event handler representing the code to be called when the suspend event is raised.
GlobalEventHandlers.ontimeupdate
Is an event handler representing the code to be called when the timeupdate event is raised.
GlobalEventHandlers.onvolumechange
Is an event handler representing the code to be called when the volumechange event is raised.
GlobalEventHandlers.ontouchcancel
Is an event handler representing the code to be called when the touchcancel event is raised.
GlobalEventHandlers.ontouchend
Is an event handler representing the code to be called when the touchend event is raised.
GlobalEventHandlers.ontouchmove
Is an event handler representing the code to be called when the touchmove event is raised.
GlobalEventHandlers.ontouchstart
Is an event handler representing the code to be called when the touchstart event is raised.
GlobalEventHandlers.ontransitioncancel
An event handler called when a transitioncancel event is sent, indicating that a CSS transition has been cancelled.
GlobalEventHandlers.ontransitionend
An event handler called when a transitionend event is sent, indicating that a CSS transition has finished playing.
GlobalEventHandlers.ontransitionrun
An event handler called when a transitionrun event is sent, indicating that a CSS transition is running, though not nessarilty started.
GlobalEventHandlers.ontransitionstart
An event handler called when a transitionstart event is sent, indicating that a CSS transition has started transitioning.
GlobalEventHandlers.onwaiting
Is an event handler representing the code to be called when the waiting event is raised.

Deprecated properties

Document.alinkColor
Returns or sets the color of active links in the document body.
Document.all
Provides access to all elements in the document. This is a legacy, non-standard property and should not be used.
Document.applets 只读
Returns an ordered list of the applets within a document.
Document.bgColor
获取或设置 the background color of 当前文档。
Document.charset (en-US) 只读
Alias of Document.characterSet. Use this property instead.
Document.domConfig
Should return a DOMConfiguration 对象。
document.fgColor
获取或设置 the foreground color, or text color, of 当前文档。
Document.fullscreen This is an obsolete API and is no longer guaranteed to work.
true when the document is in full-screen mode.
Document.height This is an obsolete API and is no longer guaranteed to work.
获取或设置 the height of 当前文档。
Document.inputEncoding (en-US) 只读
Alias of Document.characterSet. Use this property instead.
Document.linkColor
获取或设置 the color of hyperlinks in the document.
Document.vlinkColor (en-US)
获取或设置 the color of visited hyperlinks.
Document.width This is an obsolete API and is no longer guaranteed to work.
返回 width of 当前文档。
Document.xmlEncoding (en-US)
返回 encoding as determined by the XML declaration.
Document.xmlStandalone 已废弃 Gecko 10.0
Returns true if the XML declaration specifies the document to be standalone (e.g., An external part of the DTD affects the document's content), else false.
Document.xmlVersion (en-US) 已废弃 Gecko 10.0
返回 version number as specified in the XML declaration or "1.0" if the declaration is absent.

Methods

该接口同样继承了 Node 和 EventTarget 接口。

Document.adoptNode()
从外部文档中采用节点。
Document.captureEvents()
参见 Window.captureEvents (en-US)
Document.caretRangeFromPoint()
Gets a Range object for the document fragment under the specified coordinates.
Document.createAttribute()
创建一个新的 Attr 对象并返回。
Document.createAttributeNS()
在给定命名空间创建一个新的属性节点并返回。
Document.createCDATASection()
创建一个新的数据节点(CDATA node)并返回。
Document.createComment()
创建一个新的注释节点并返回。
Document.createDocumentFragment()
创建一个新的文档片段。
Document.createElement()
用给定标签名 tagName 创建一个新的元素。
Document.createElementNS()
用给定标签名 tagName 和命名空间创建一个新的元素。
Document.createEntityReference() (en-US) This is an obsolete API and is no longer guaranteed to work.
创建一个 new entity reference object and returns it.
Document.createEvent()
创建一个 event 对象。
Document.createNodeIterator()
创建一个 NodeIterator 对象。
Document.createProcessingInstruction()
创建一个 new ProcessingInstruction (en-US) 对象。
Document.createRange()
创建一个 Range 对象。
Document.createTextNode()
创建一个 text node.
Document.createTouch() (en-US)
创建一个 Touch 对象。
Document.createTouchList() (en-US)
创建一个 TouchList 对象。
Document.createTreeWalker()
创建一个 TreeWalker 对象。
Document.enableStyleSheetsForSet() (en-US)
Enables the style sheets for the specified style sheet set.
Document.exitPointerLock()
Release the pointer lock.
Document.getAnimations() (en-US)
Returns an array of all Animation objects currently in effect, whose target elements are descendants of the document.
Document.getElementsByClassName()
Returns a list of elements with the given class name.
Document.getElementsByTagName()
Returns a list of elements with the given tag name.
Document.getElementsByTagNameNS()
Returns a list of elements with the given tag name and namespace.
Document.hasStorageAccess()
Returns a Promise that resolves with a boolean value indicating whether the document has access to its first-party storage.
Document.importNode()
Returns a clone of a node from an external document.
Document.normalizeDocument() This is an obsolete API and is no longer guaranteed to work.
Replaces entities, normalizes text nodes, etc.
Document.releaseCapture()
Releases the current mouse capture if it's on an element in this document.
Document.releaseEvents()
详见 Window.releaseEvents() (en-US)
Document.requestStorageAccess() (en-US)
Returns a Promise that resolves if the access to first-party storage was granted, and rejects if access was denied.
Document.routeEvent() 已废弃 Gecko 24
See Window.routeEvent() (en-US).
Document.mozSetImageElement() (en-US)
Allows you to change the element being used as the background image for a specified element ID.

The Document interface is extended with the ParentNode interface:

document.getElementById(String id)
Returns an object reference to the identified element.
document.querySelector()
返回 first Element node within the document, in document order, that matches the specified selectors.
document.querySelectorAll()
Returns a list of all the Element nodes within the document that match the specified selectors.

The Document interface is extended with the XPathEvaluator interface:

document.createExpression()
Compiles an XPathExpression which can then be used for (repeated) evaluations.
document.createNSResolver()
创建一个 XPathNSResolver (en-US) 对象。
document.evaluate()
Evaluates an XPath expression.

Extension for HTML documents

The Document interface for HTML documents inherit from the HTMLDocument interface or, since HTML5, is extended for such documents:

document.clear()
In majority of modern browsers, including recent versions of Firefox and Internet Explorer, this method does nothing.
document.close()
Closes a document stream for writing.
document.execCommand()
On an editable document, executes a formating command.
document.getElementsByName()
Returns a list of elements with the given name.
document.hasFocus()
Returns true if the focus is currently located anywhere inside the specified document.
document.open()
Opens a document stream for writing.
document.queryCommandEnabled()
Returns true if the formating command can be executed on the current range.
document.queryCommandIndeterm()
Returns true if the formating command is in an indeterminate state on the current range.
document.queryCommandState()
Returns true if the formating command has been executed on the current range.
document.queryCommandSupported()
Returns true if the formating command is supported on the current range.
document.queryCommandValue()
返回 current value of the current range for a formating command.
document.write()
Writes text in a document.
document.writeln()
Writes a line of text in a document.

Methods included from DocumentOrShadowRoot

The Document interface includes the following methods defined on the DocumentOrShadowRoot mixin. Note that this is currently only implemented by Chrome; other browsers still implement them on the Document interface.

DocumentOrShadowRoot.getSelection()
Returns a Selection object representing the range of text selected by the user, or the current position of the caret.
DocumentOrShadowRoot.elementFromPoint()
返回 topmost element at the specified coordinates.
DocumentOrShadowRoot.elementsFromPoint()
Returns an array of all elements at the specified coordinates.
DocumentOrShadowRoot.caretPositionFromPoint() (en-US)
Returns a CaretPosition (en-US) object containing the DOM node containing the caret, and caret's character offset within that node.

Events

Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface.

scroll
Fired when the document view or an element has been scrolled.
Also available via the onscroll 属性。
visibilitychange
Fired when the content of a tab has become visible or has been hidden.
Also available via the onvisibilitychange 属性。
wheel (en-US)
Fired when the user rotates a wheel button on a pointing device (typically a mouse).
Also available via the onwheel 属性。

Animation events

animationcancel (en-US)
Fired when an animation unexpectedly aborts.
Also available via the onanimationcancel 属性。
animationend (en-US)
Fired when an animation has completed normally.
Also available via the onanimationend 属性。
animationiteration (en-US)
Fired when an animation iteration has completed.
Also available via the onanimationiteration 属性。
animationstart (en-US)
Fired when an animation starts.
Also available via the onanimationstart (en-US) 属性。

Clipboard events

copy (en-US)
Fired when the user initiates a copy action through the browser's user interface.
Also available via the oncopy 属性。
cut (en-US)
Fired when the user initiates a cut action through the browser's user interface.
Also available via the oncut 属性。
paste (en-US)
Fired when the user initiates a paste action through the browser's user interface.
Also available via the onpaste 属性。

Drag & drop events

drag
Fired every few hundred milliseconds as an element or text selection is being dragged by the user.
Also available via the ondrag 属性。
dragend
Fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).
Also available via the ondragend (en-US) 属性。
dragenter
Fired when a dragged element or text selection enters a valid drop target.
Also available via the ondragenter (en-US) 属性。
dragexit
Fired when an element is no longer the drag operation's immediate selection target.
Also available via the ondragexit (en-US) 属性。
dragleave
Fired when a dragged element or text selection leaves a valid drop target.
Also available via the ondragleave 属性。
dragover
Fired when an element or text selection is being dragged over a valid drop target (every few hundred milliseconds).
Also available via the ondragover (en-US) 属性。
dragstart
Fired when the user starts dragging an element or text selection.
Also available via the ondragstart (en-US) 属性。
drop
Fired when an element or text selection is dropped on a valid drop target.
Also available via the ondrop 属性。

Fullscreen events

fullscreenchange
Fired when the Document transitions into or out of full-screen mode.
Also available via the onfullscreenchange 属性。
fullscreenerror
Fired if an error occurs while attempting to switch into or out of full-screen mode.
Also available via the onfullscreenerror 属性。

Keyboard events

keydown (en-US)
Fired when a key is pressed.
Also available via the onkeydown 属性。
keypress
Fired when a key that produces a character value is pressed down.
Also available via the onkeypress 属性。
keyup (en-US)
Fired when a key is released.
Also available via the onkeyup 属性。

Load & unload events

DOMContentLoaded
Fired when the document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading.
readystatechange
Fired when the readyState attribute of a document has changed.
Also available via the onreadystatechange 属性。

Pointer events

gotpointercapture (en-US)
Fired when when an element captures a pointer using setPointerCapture().
Also available via the ongotpointercapture 属性。
lostpointercapture (en-US)
Fired when a captured pointer is released.
Also available via the onlostpointercapture 属性。
pointercancel (en-US)
Fired when a pointer event is canceled.
Also available via the onpointercancel 属性。
pointerdown (en-US)
Fired when a pointer becomes active.
Also available via the onpointerdown 属性。
pointerenter (en-US)
Fired when a pointer is moved into the hit test boundaries of an element or one of its descendants.
Also available via the onpointerenter 属性。
pointerleave (en-US)
Fired when a pointer is moved out of the hit test boundaries of an element.
Also available via the onpointerleave 属性。
pointerlockchange
Fired when the pointer is locked/unlocked.
Also available via the onpointerlockchange 属性。
pointerlockerror (en-US)
Fired when locking the pointer failed.
Also available via the onpointerlockerror 属性。
pointermove (en-US)
Fired when a pointer changes coordinates.
Also available via the onpointermove 属性。
pointerout (en-US)
Fired when a pointer is moved out of the hit test boundaries of an element (among other reasons).
Also available via the onpointerout 属性。
pointerover (en-US)
Fired when a pointer is moved into an element's hit test boundaries.
Also available via the onpointerover 属性。
pointerup (en-US)
Fired when a pointer is no longer active.
Also available via the onpointerup 属性。

Selection events

selectionchange
Fired when the current text selection on a document is changed.
Also available via the onselectionchange 属性。
selectstart
Fired when the user begins a new selection.
Also available via the onselectstart 属性。

Touch events

touchcancel
Fired when one or more touch points have been disrupted in an implementation-specific manner (for example, too many touch points are created).
Also available via the ontouchcancel 属性。
touchend
Fired when one or more touch points are removed from the touch surface.
Also available via the ontouchend (en-US) property
touchmove
Fired when one or more touch points are moved along the touch surface.
Also available via the ontouchmove property
touchstart
Fired when one or more touch points are placed on the touch surface.
Also available via the ontouchstart property

Transition events

transitioncancel (en-US)
Fired when a CSS transition is canceled.
Also available via the ontransitioncancel 属性。
transitionend (en-US)
Fired when a CSS transition has completed.
Also available via the ontransitionend 属性。
transitionrun (en-US)
Fired when a CSS transition is first created.
Also available via the ontransitionrun 属性。
transitionstart (en-US)
Fired when a CSS transition has actually started.
Also available via the ontransitionstart 属性。

Non-standard extensions

非标准

该特性是非标准的,请尽量不要在生产环境中使用它!

Firefox notes

Mozilla defines a set of non-standard properties made only for XUL content:

document.currentScript
返回 <script> element that is currently executing.
document.documentURIObject
(Mozilla add-ons only!) 返回 nsIURI object representing the URI of the document. This property only has special meaning in privileged JavaScript code (with UniversalXPConnect privileges).
document.popupNode
返回 node upon which a popup was invoked.
document.tooltipNode
返回 node which is the target of the current tooltip.

Mozilla also define some non-standard methods:

document.execCommandShowHelp 已废弃 Gecko 14.0
This method never did anything and always threw an exception, so it was removed in Gecko 14.0 (Firefox 14.0 / Thunderbird 14.0 / SeaMonkey 2.11).
document.getBoxObjectFor (en-US) This is an obsolete API and is no longer guaranteed to work.
Use the Element.getBoundingClientRect() method instead.
document.loadOverlay
Loads a XUL overlay dynamically. This only works in XUL documents.
document.queryCommandText 已废弃 Gecko 14.0
This method never did anything but throw an exception, and was removed in Gecko 14.0 (Firefox 14.0 / Thunderbird 14.0 / SeaMonkey 2.11).

Internet Explorer notes

Microsoft defines some non-standard properties:

document.fileSize* This is an obsolete API and is no longer guaranteed to work.
Returns size in bytes of the document. Starting with Internet Explorer 11, that property is no longer supported. See MSDN.

Internet Explorer does not support all methods from the Node interface in the Document interface:

document.contains
As a work-around, document.body.contains() can be used.

规范

规范 状态 备注
DOM
Document
Living Standard Intend to supersede DOM 3
HTML Living Standard
Document
Living Standard Turn the HTMLDocument interface into a Document extension.
HTML Editing APIs
Document
Editor's Draft Extend the Document interface
CSS Object Model (CSSOM) View Module
Document
Working Draft Extend the Document interface
CSS Object Model (CSSOM)
Document
Working Draft Extend the Document interface
Pointer Lock
Document
Candidate Recommendation Extend the Document interface
Page Visibility (Second Edition)
Document
Recommendation Extend the Document interface with the visibilityState and hidden attributes and the onvisibilitychange event listener.
Selection API
Document
Working Draft Adds getSelection(), onselectstart and onselectionchange.
DOM4
Document
Obsolete Supersede DOM 3
Document Object Model (DOM) Level 3 Core Specification
Document
Obsolete Supersede DOM 2
Document Object Model (DOM) Level 3 XPath Specification
XPathEvaluator
Recommendation Define the XPathEvaluator interface which extend document.
Document Object Model (DOM) Level 2 Core Specification
Document
Obsolete Supersede DOM 1
Document Object Model (DOM) Level 1 Specification
Document
Obsolete Initial definition for the interface

浏览器兼容性

BCD tables only load in the browser