# class HTMLDocument

#### package js.html

#### extends Document › Node › EventTarget

Available on HTML5

`HTMLDocument` is an abstract interface of the DOM which provides access to special properties and methods not present by default on a regular (XML) document.

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

See:

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

### Variables

###

`alinkColor:String`

###

`read onlyall:HTMLAllCollection`

###

`read onlyanchors:HTMLCollection`

###

`read onlyapplets:HTMLCollection`

###

`bgColor:String`

###

`body:BodyElement`

###

`cookie:String`

###

`designMode:String`

###

`domain:String`

###

`read onlyembeds:HTMLCollection`

###

`fgColor:String`

###

`read onlyforms:HTMLCollection`

###

`read onlyhead:HeadElement`

###

`read onlyimages:HTMLCollection`

###

`linkColor:String`

###

`read onlylinks:HTMLCollection`

###

`read onlyplugins:HTMLCollection`

###

`read onlyscripts:HTMLCollection`

###

`vlinkColor:String`

### Methods

###

`captureEvents ():Void`

###

`clear ():Void`

###

`close ():Void`

Throws:

`null` | DOMError

###

`inline createAnchorElement ():AnchorElement`

Shorthand for creating an HTML `<a>` element.

###

`inline createAppletElement ():AppletElement`

Shorthand for creating an HTML `<applet>` element.

###

`inline createAreaElement ():AreaElement`

Shorthand for creating an HTML `<area>` element.

###

`inline createAudioElement ():AudioElement`

Shorthand for creating an HTML `<audio>` element.

###

`inline createBRElement ():BRElement`

Shorthand for creating an HTML `<br>` element.

###

`inline createBaseElement ():BaseElement`

Shorthand for creating an HTML `<base>` element.

###

`inline createBodyElement ():BodyElement`

Shorthand for creating an HTML `<body>` element.

###

`inline createButtonElement ():ButtonElement`

Shorthand for creating an HTML `<button>` element.

###

`inline createCanvasElement ():CanvasElement`

Shorthand for creating an HTML `<canvas>` element.

###

`inline createContentElement ():ContentElement`

Shorthand for creating an HTML `<content>` element.

###

`inline createDListElement ():DListElement`

Shorthand for creating an HTML `<dl>` element.

###

`inline createDataListElement ():DataListElement`

Shorthand for creating an HTML `<datalist>` element.

###

`inline createDirectoryElement ():DirectoryElement`

Shorthand for creating an HTML `<dir>` element.

###

`inline createDivElement ():DivElement`

Shorthand for creating an HTML `<div>` element.

###

`inline createEmbedElement ():EmbedElement`

Shorthand for creating an HTML `<embed>` element.

###

`inline createFieldSetElement ():FieldSetElement`

Shorthand for creating an HTML `<fieldset>` element.

###

`inline createFontElement ():FontElement`

Shorthand for creating an HTML `<font>` element.

###

`inline createFormElement ():FormElement`

Shorthand for creating an HTML `<form>` element.

###

`inline createFrameElement ():FrameElement`

Shorthand for creating an HTML `<frame>` element.

###

`inline createFrameSetElement ():FrameSetElement`

Shorthand for creating an HTML `<frameset>` element.

###

`inline createHRElement ():HRElement`

Shorthand for creating an HTML `<hr>` element.

###

`inline createHeadElement ():HeadElement`

Shorthand for creating an HTML `<head>` element.

###

`inline createHtmlElement ():HtmlElement`

Shorthand for creating an HTML `<html>` element.

###

`inline createIFrameElement ():IFrameElement`

Shorthand for creating an HTML `<iframe>` element.

###

`inline createImageElement ():ImageElement`

Shorthand for creating an HTML `<img>` element.

###

`inline createInputElement ():InputElement`

Shorthand for creating an HTML `<input>` element.

###

`inline createLIElement ():LIElement`

Shorthand for creating an HTML `<li>` element.

###

`inline createLabelElement ():LabelElement`

Shorthand for creating an HTML `<label>` element.

###

`inline createLegendElement ():LegendElement`

Shorthand for creating an HTML `<legend>` element.

###

`inline createLinkElement ():LinkElement`

Shorthand for creating an HTML `<link>` element.

###

`inline createMapElement ():MapElement`

Shorthand for creating an HTML `<map>` element.

###

`inline createMediaElement ():MediaElement`

Shorthand for creating an HTML `<media>` element.

###

`inline createMenuElement ():MenuElement`

Shorthand for creating an HTML `<menu>` element.

###

`inline createMetaElement ():MetaElement`

Shorthand for creating an HTML `<meta>` element.

###

`inline createMeterElement ():MeterElement`

Shorthand for creating an HTML `<meter>` element.

###

`inline createModElement ():ModElement`

Shorthand for creating an HTML `<mod>` element.

###

`inline createOListElement ():OListElement`

Shorthand for creating an HTML `<ol>` element.

###

`inline createObjectElement ():ObjectElement`

Shorthand for creating an HTML `<object>` element.

###

`inline createOptGroupElement ():OptGroupElement`

Shorthand for creating an HTML `<optgroup>` element.

###

`inline createOptionElement ():OptionElement`

Shorthand for creating an HTML `<option>` element.

###

`inline createOutputElement ():OutputElement`

Shorthand for creating an HTML `<output>` element.

###

`inline createParagraphElement ():ParagraphElement`

Shorthand for creating an HTML `<p>` element.

###

`inline createParamElement ():ParamElement`

Shorthand for creating an HTML `<param>` element.

###

`inline createPictureElement ():PictureElement`

Shorthand for creating an HTML `<picture>` element.

###

`inline createPreElement ():PreElement`

Shorthand for creating an HTML `<pre>` element.

###

`inline createProgressElement ():ProgressElement`

Shorthand for creating an HTML `<progress>` element.

###

`inline createQuoteElement ():QuoteElement`

Shorthand for creating an HTML `<quote>` element.

###

`inline createScriptElement ():ScriptElement`

Shorthand for creating an HTML `<script>` element.

###

`inline createSelectElement ():SelectElement`

Shorthand for creating an HTML `<select>` element.

###

`inline createShadowElement ():ShadowElement`

Shorthand for creating an HTML `<shadow>` element.

###

`inline createSourceElement ():SourceElement`

Shorthand for creating an HTML `<source>` element.

###

`inline createSpanElement ():SpanElement`

Shorthand for creating an HTML `<span>` element.

###

`inline createStyleElement ():StyleElement`

Shorthand for creating an HTML `<style>` element.

###

`inline createTableCaptionElement ():TableCaptionElement`

Shorthand for creating an HTML `<caption>` element.

###

`inline createTableCellElement ():TableCellElement`

Shorthand for creating an HTML `<td>` element.

###

`inline createTableColElement ():TableColElement`

Shorthand for creating an HTML `<col>` element.

###

`inline createTableElement ():TableElement`

Shorthand for creating an HTML `<table>` element.

###

`inline createTableRowElement ():TableRowElement`

Shorthand for creating an HTML `<tr>` element.

###

`inline createTableSectionElement ():TableSectionElement`

Shorthand for creating an HTML `<thead>` element.

###

`inline createTextAreaElement ():TextAreaElement`

Shorthand for creating an HTML `<textarea>` element.

###

`inline createTitleElement ():TitleElement`

Shorthand for creating an HTML `<title>` element.

###

`inline createTrackElement ():TrackElement`

Shorthand for creating an HTML `<track>` element.

###

`inline createUListElement ():UListElement`

Shorthand for creating an HTML `<ul>` element.

###

`inline createVideoElement ():VideoElement`

Shorthand for creating an HTML `<video>` element.

###

`execCommand (commandId:String, showUI:Bool = false, value:String = ""):Bool`

Throws:

`null` | DOMError

###

`getElementsByName (elementName:String):NodeList`

###

`getItems (typeNames:String = ""):NodeList`

###

`getSelection ():Selection`

Throws:

`null` | DOMError

###

`open (url:String, name:String, features:String, replace:Bool = false):Window`

`open (type:String = "text/html", replace:String = ""):HTMLDocument`

Throws:

`null` | DOMError

###

`queryCommandEnabled (commandId:String):Bool`

Throws:

`null` | DOMError

###

`queryCommandIndeterm (commandId:String):Bool`

Throws:

`null` | DOMError

###

`queryCommandState (commandId:String):Bool`

Throws:

`null` | DOMError

###

`queryCommandSupported (commandId:String):Bool`

###

`queryCommandValue (commandId:String):String`

Throws:

`null` | DOMError

###

`releaseEvents ():Void`

###

`write (text:Rest<String>):Void`

Throws:

`null` | DOMError

###

`writeln (text:Rest<String>):Void`

Throws:

`null` | DOMError

### Inherited Variables

#### Defined by Document

###

`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`.

#### 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 Document

###

`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.

#### 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