# class Document

#### package js.html

#### extends Node › EventTarget

#### extended by HTMLDocument

Available on HTML5

The `Document` interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree. The DOM tree includes elements such as `body` and `table`, among many others. It provides functionality global to the document, like how to obtain the page's URL and create new elements in the document.

Documentation Document by Mozilla Contributors, licensed under CC-BY-SA 2.5.

See:

https://developer.mozilla.org/en-US/docs/Web/API/Document

### Constructor

###

`new ()`

Throws:

`null` | DOMError

### Variables

###

`read onlyURL:String`

Returns the document location as a string.

###

`read onlyactiveElement:Element`

Returns the currently focused element.

###

`read onlycharacterSet:String`

Returns the character set being used by the document.

###

`read onlycharset:String`

Alias of `Document.characterSet`. Use this property instead.

###

`read onlychildElementCount:Int`

###

`read onlychildren:HTMLCollection`

###

`read onlycompatMode:String`

Indicates whether the document is rendered in quirks or strict mode.

###

`read onlycontentType:String`

Returns the Content-Type from the MIME Header of the current document.

###

`read onlycurrentScript:Element`

###

`read onlydefaultView:Window`

Returns a reference to the window object.

###

`dir:String`

Gets/sets directionality (rtl/ltr) of the document.

###

`read onlydoctype:DocumentType`

Returns the Document Type Definition (DTD) of the current document.

###

`read onlydocumentElement:Element`

Returns the `Element` that is a direct child of the document. For HTML documents, this is normally the `html` element.

###

`read onlydocumentURI:String`

Returns the document location as a string.

###

`read onlyfirstElementChild:Element`

###

`read onlyfonts:FontFaceSet`

###

`read onlyfullscreenElement:Element`

###

`read onlyfullscreenEnabled:Bool`

###

`read onlyhidden:Bool`

…

###

`read onlyimplementation:DOMImplementation`

Returns the DOM implementation associated with the current document.

###

`read onlyinputEncoding:String`

Alias of `Document.characterSet`. Use this property instead.

###

`read onlylastElementChild:Element`

###

`read onlylastModified:String`

Returns the date on which the document was last modified.

###

`read onlylastStyleSheetSet:String`

Returns the name of the style sheet set that was last enabled. Has the value `null` until the style sheet is changed by setting the value of `document.selectedStyleSheetSet`.

###

`read onlylocation:Location`

Returns the URI of the current document.

###

`onabort:Function`

###

`onafterscriptexecute:Function`

Represents the event handling code for the `afterscriptexecute` event.

###

`onbeforescriptexecute:Function`

Represents the event handling code for the `beforescriptexecute` event.

###

`onblur:Function`

###

`oncanplay:Function`

###

`oncanplaythrough:Function`

###

`onchange:Function`

###

`onclick:Function`

###

`oncontextmenu:Function`

###

`oncopy:Function`

Represents the event handling code for the `copy` event.

###

`oncut:Function`

Represents the event handling code for the `cut` event.

###

`ondblclick:Function`

###

`ondrag:Function`

###

`ondragend:Function`

###

`ondragenter:Function`

###

`ondragleave:Function`

###

`ondragover:Function`

###

`ondragstart:Function`

###

`ondrop:Function`

###

`ondurationchange:Function`

###

`onemptied:Function`

###

`onended:Function`

###

`onerror:Function`

###

`onfocus:Function`

###

`onfullscreenchange:Function`

Is an `EventHandler` representing the code to be called when the `fullscreenchange` event is raised.

###

`onfullscreenerror:Function`

Is an `EventHandler` representing the code to be called when the `fullscreenerror` event is raised.

###

`ongotpointercapture:Function`

###

`oninput:Function`

###

`oninvalid:Function`

###

`onkeydown:Function`

###

`onkeypress:Function`

###

`onkeyup:Function`

###

`onload:Function`

###

`onloadeddata:Function`

###

`onloadedmetadata:Function`

###

`onloadstart:Function`

###

`onlostpointercapture:Function`

###

`onmousedown:Function`

###

`onmouseenter:Function`

###

`onmouseleave:Function`

###

`onmousemove:Function`

###

`onmouseout:Function`

###

`onmouseover:Function`

###

`onmouseup:Function`

###

`onpaste:Function`

Represents the event handling code for the `paste` event.

###

`onpause:Function`

###

`onplay:Function`

###

`onplaying:Function`

###

`onpointercancel:Function`

###

`onpointerdown:Function`

###

`onpointerenter:Function`

###

`onpointerleave:Function`

###

`onpointerlockchange:Function`

Represents the event handling code for the `pointerlockchange` event.

###

`onpointerlockerror:Function`

Represetnts the event handling code for the `pointerlockerror` event.

###

`onpointermove:Function`

###

`onpointerout:Function`

###

`onpointerover:Function`

###

`onpointerup:Function`

###

`onprogress:Function`

###

`onratechange:Function`

###

`onreadystatechange:Function`

Represents the event handling code for the `readystatechange` event.

###

`onreset:Function`

###

`onresize:Function`

###

`onscroll:Function`

###

`onseeked:Function`

###

`onseeking:Function`

###

`onselect:Function`

###

`onshow:Function`

###

`onstalled:Function`

###

`onsubmit:Function`

###

`onsuspend:Function`

###

`ontimeupdate:Function`

###

`ontouchcancel:Function`

###

`ontouchend:Function`

###

`ontouchmove:Function`

###

`ontouchstart:Function`

###

`onvolumechange:Function`

###

`onwaiting:Function`

###

`onwheel:Function`

Represents the event handling code for the `wheel` event.

###

`read onlypointerLockElement:Element`

Returns the 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.

###

`read onlypreferredStyleSheetSet:String`

Returns the preferred style sheet set as specified by the page author.

###

`read onlyreadyState:String`

Returns loading status of the document.

###

`read onlyreferrer:String`

Returns the URI of the page that linked to this page.

###

`selectedStyleSheetSet:String`

Returns which style sheet set is currently in use.

###

`read onlystyleSheetSets:DOMStringList`

Returns a list of the style sheet sets available on the document.

###

`read onlystyleSheets:StyleSheetList`

Returns a list of the style sheet objects on the current document.

###

`read onlytimeline:DocumentTimeline`

…

###

`title:String`

Sets or gets title of the current document.

###

`read onlyvisibilityState:VisibilityState`

Returns a `string` denoting the visibility state of the document. Possible values are `visible`, `hidden`, `prerender`, and `unloaded`.

### Methods

###

`adoptNode (node:Node):Node`

Throws:

`null` | DOMError

###

`caretPositionFromPoint (x:Float, y:Float):CaretPosition`

Gets the `CaretPosition` at or near the specified coordinates.

###

`convertPointFromNode (point:DOMPointInit, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMPoint`

Throws:

`null` | DOMError

###

`convertQuadFromNode (quad:DOMQuad, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMQuad`

Throws:

`null` | DOMError

###

`convertRectFromNode (rect:DOMRectReadOnly, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMQuad`

Throws:

`null` | DOMError

###

`createAttribute (name:String):Attr`

Throws:

`null` | DOMError

###

`createAttributeNS (namespace_:String, name:String):Attr`

Throws:

`null` | DOMError

###

`createCDATASection (data:String):CDATASection`

Throws:

`null` | DOMError

###

`createComment (data:String):Comment`

Creates a new comment node and returns it.

###

`createDocumentFragment ():DocumentFragment`

Creates a new document fragment.

###

`createElement (localName:String, typeExtension:String):Element`

`createElement (localName:String):Element`

Throws:

`null` | DOMError

###

`createElementNS (namespace_:String, qualifiedName:String, typeExtension:String):Element`

`createElementNS (namespace_:String, qualifiedName:String):Element`

Throws:

`null` | DOMError

###

`createEvent (interface_:String):Event`

Throws:

`null` | DOMError

###

`createExpression (expression:String, resolver:XPathNSResolver):XPathExpression`

Throws:

`null` | DOMError

###

`createNSResolver (nodeResolver:Node):Node`

###

`createNodeIterator (root:Node, whatToShow:Int = cast 4294967295, ?filter:NodeFilter):NodeIterator`

Throws:

`null` | DOMError

###

`createProcessingInstruction (target:String, data:String):ProcessingInstruction`

Throws:

`null` | DOMError

###

`createRange ():Range`

Throws:

`null` | DOMError

###

`createTextNode (data:String):Text`

Creates a text node.

###

`createTouch (?view:Window, ?target:EventTarget, identifier:Int = 0, pageX:Int = 0, pageY:Int = 0, screenX:Int = 0, screenY:Int = 0, clientX:Int = 0, clientY:Int = 0, radiusX:Int = 0, radiusY:Int = 0, rotationAngle:Float = 0.0, force:Float = 0.0):Touch`

Creates a `Touch` object.

###

`createTouchList (touches:Array<Touch>):TouchList`

`createTouchList (touch:Touch, touches:Rest<Touch>):TouchList`

`createTouchList ():TouchList`

###

`createTreeWalker (root:Node, whatToShow:Int = cast 4294967295, ?filter:NodeFilter):TreeWalker`

Throws:

`null` | DOMError

###

`elementFromPoint (x:Float, y:Float):Element`

Returns the topmost element at the specified coordinates.

###

`elementsFromPoint (x:Float, y:Float):Array<Element>`

Returns an array of all elements at the specified coordinates.

###

`enableStyleSheetsForSet (name:String):Void`

Enables the style sheets for the specified style sheet set.

###

`evaluate (expression:String, contextNode:Node, resolver:XPathNSResolver, type:Int, result:Dynamic):XPathResult`

Throws:

`null` | DOMError

###

`exitFullscreen ():Void`

###

`exitPointerLock ():Void`

Release the pointer lock.

###

`getAnimations ():Array<Animation>`

Returns an array of all `Animation` objects currently in effect whose target elements are descendants of the `document`.

###

`getElementById (elementId:String):Element`

###

`getElementsByClassName (classNames:String):HTMLCollection`

Returns a list of elements with the given class name.

###

`getElementsByTagName (localName:String):HTMLCollection`

Returns a list of elements with the given tag name.

###

`getElementsByTagNameNS (namespace_:String, localName:String):HTMLCollection`

Throws:

`null` | DOMError

###

`hasFocus ():Bool`

Throws:

`null` | DOMError

###

`importNode (node:Node, deep:Bool = false):Node`

Throws:

`null` | DOMError

###

`querySelector (selectors:String):Element`

Throws:

`null` | DOMError

###

`querySelectorAll (selectors:String):NodeList`

Throws:

`null` | DOMError

###

`registerElement (name:String, ?options:ElementRegistrationOptions):Dynamic`

Throws:

`null` | DOMError

###

`releaseCapture ():Void`

Releases the current mouse capture if it's on an element in this document.

### Inherited Variables

#### Defined by Node

###

`read onlybaseURI:String`

Returns a `DOMString` representing the base URL. The concept of base URL changes from one language to another; in HTML, it corresponds to the protocol, the domain name and the directory structure, that is all until the last `'/'`.

###

`read onlychildNodes:NodeList`

Returns a live `NodeList` containing all the children of this node. `NodeList` being live means that if the children of the `Node` change, the `NodeList` object is automatically updated.

###

`read onlyfirstChild:Node`

Returns a `Node` representing the first direct child node of the node, or `null` if the node has no child.

###

`read onlylastChild:Node`

Returns a `Node` representing the last direct child node of the node, or `null` if the node has no child.

###

`read onlylocalName:String`

Returns a `DOMString` representing the local part of the qualified name of an element.

Note: In Firefox 3.5 and earlier, the property upper-cases the local name for HTML elements (but not XHTML elements). In later versions, this does not happen, so the property is in lower case for both HTML and XHTML. `1.9.2`

###

`read onlynamespaceURI:String`

The namespace URI of this node, or `null` if it is no namespace.

Note: In Firefox 3.5 and earlier, HTML elements are in no namespace. In later versions, HTML elements are in the `https://www.w3.org/1999/xhtml/` namespace in both HTML and XML trees. `1.9.2`

###

`read onlynextSibling:Node`

Returns a `Node` representing the next node in the tree, or `null` if there isn't such node.

###

`read onlynodeName:String`

Returns a `DOMString` containing the name of the `Node`. The structure of the name will differ with the name type. E.g. An `HTMLElement` will contain the name of the corresponding tag, like `'audio'` for an `HTMLAudioElement`, a `Text` node will have the `'#text'` string, or a `Document` node will have the `'#document'` string.

###

`read onlynodeType:Int`

Returns an `unsigned short` representing the type of the node. Possible values are:

Name Value
`ELEMENT_NODE` | `1`
`ATTRIBUTE_NODE` (deprecated) | `2`
`TEXT_NODE` | `3`
`CDATA_SECTION_NODE` (deprecated) | `4`
`ENTITY_REFERENCE_NODE` (deprecated) | `5`
`ENTITY_NODE` (deprecated) | `6`
`PROCESSING_INSTRUCTION_NODE` | `7`
`COMMENT_NODE` | `8`
`DOCUMENT_NODE` | `9`
`DOCUMENT_TYPE_NODE` | `10`
`DOCUMENT_FRAGMENT_NODE` | `11`
`NOTATION_NODE` (deprecated) | `12`

###

`nodeValue:String`

Returns / Sets the value of the current node

###

`read onlyownerDocument:HTMLDocument`

Returns the `Document` that this node belongs to. If no document is associated with it, returns `null`.

###

`read onlyparentElement:Element`

Returns an `Element` that is the parent of this node. If the node has no parent, or if that parent is not an `Element`, this property returns `null`.

###

`read onlyparentNode:Node`

Returns a `Node` that is the parent of this node. If there is no such node, like if this node is the top of the tree or if doesn't participate in a tree, this property returns `null`.

###

`read onlyprefix:String`

Is a `DOMString` representing the namespace prefix of the node, or `null` if no prefix is specified.

###

`read onlypreviousSibling:Node`

Returns a `Node` representing the previous node in the tree, or `null` if there isn't such node.

###

`textContent:String`

Returns / Sets the textual content of an element and all its descendants.

### Inherited Methods

#### Defined by Node

###

`appendChild (node:Node):Node`

Throws:

`null` | DOMError

###

`cloneNode (deep:Bool = false):Node`

Throws:

`null` | DOMError

###

`compareDocumentPosition (other:Node):Int`

Returns the context objects root which optionally includes the shadow root if it is available.

###

`contains (other:Node):Bool`

Returns the context objects root which optionally includes the shadow root if it is available.

###

`hasChildNodes ():Bool`

Returns a `Boolean` indicating if the element has any child nodes, or not.

###

`insertBefore (node:Node, child:Node):Node`

Throws:

`null` | DOMError

###

`isDefaultNamespace (namespace_:String):Bool`

Returns a `Boolean` which indicates whether or not two nodes are of the same type and all their defining data points match.

###

`isEqualNode (node:Node):Bool`

Returns a `Boolean` which indicates whether or not two nodes are of the same type and all their defining data points match.

###

`lookupNamespaceURI (prefix:String):String`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`lookupPrefix (namespace_:String):String`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`normalize ():Void`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`removeChild (child:Node):Node`

Throws:

`null` | DOMError

###

`replaceChild (node:Node, child:Node):Node`

Throws:

`null` | DOMError

#### Defined by EventTarget

###

`addEventListener (type:String, listener:Function, capture:Bool = false):Void`

`addEventListener (type:String, listener:EventListener, capture:Bool = false, ?wantsUntrusted:Bool):Void`

Throws:

`null` | DOMError

###

`dispatchEvent (event:Event):Bool`

Throws:

`null` | DOMError

###

`removeEventListener (type:String, listener:Function, capture:Bool = false):Void`

`removeEventListener (type:String, listener:EventListener, capture:Bool = false):Void`

Throws:

`null` | DOMError