HTMLDocument class

HTMLDocument class

An HTMLDocument is the root of the HTML hierarchy and holds the entire content. Besides providing access to the hierarchy, it also provides some convenience methods for accessing certain sets of information from the document.

The following properties have been deprecated in favor of the corresponding ones for the BODY element. In DOM Level 2, the method getElementById is inherited from the Document interface where it was moved to.

See also the Document object Model (DOM) Level 2 HTML Specification.

Inheritance: HTMLDocumentDocumentNodeEventTargetDOMObject

The HTMLDocument type exposes the following members:

Constructors

ConstructorDescription
initInitializes a new instance of the HTMLDocument class.
initInitializes a new instance of the HTMLDocument class.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
Document loading starts from the current position in the stream.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
Document loading starts from the current position in the stream.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
Document loading starts from the current position in the stream.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
Document loading starts from the current position in the stream.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.
initInitializes a new instance of the HTMLDocument class. Constructor works synchronously, it waits for loading of all the external resources (images, scripts, etc.).
To load document asynchronously use method Document.navigate or its overloads.
Or you can disable loading of some external resources by setting appropriate flags in IBrowsingContext.security.

Properties

PropertyDescription
node_typeA code representing the type of the underlying object.
local_nameReturns the local part of the qualified name of this node.
For nodes of any type other than Node.ELEMENT_NODE and Node.ATTRIBUTE_NODE
and nodes created with a DOM Level 1 method, such as Document.create_element, this is always null.
namespace_uriReturns the namespace URI of the element, or null if the element is not in a namespace.
prefixReturns the namespace prefix of the specified element, or null if no prefix is specified.
node_nameThe name of this node, depending on its type.
base_uriThe absolute base URI of this node or null if the implementation wasn’t able to obtain an absolute URI.
owner_documentGets the owner document.
parent_nodeReturns the parent of the specified node in the DOM tree.


Document and DocumentFragment nodes can never have a parent, so will always return null. It also returns if the node has just been created and is not yet attached to the tree.
parent_elementReturns the DOM node’s parent Element, or if the node either has no parent, or its parent isn’t a DOM Element.
child_nodesReturns a live NodeList of child nodes of the given element where the first child node is assigned index 0. Child nodes include elements, text and comments.
first_childReturns the node’s first child in the tree, or null if the node has no children.


If the node is a Document, this property returns the first node in the list of its direct children.
last_childReturns the last child of the node. If its parent is an element, then the child is generally an element node, a text node, or a comment node. It returns null if there are no child elements
previous_siblingReturns the node immediately preceding the specified one in its parent’s Node.child_nodes list, or if the specified node is the first in that list.
next_siblingReturns the node immediately following the specified one in their parent’s Node.child_nodes, or returns null if the specified node is the last child in the parent element.
node_valueReturns or sets the value of the current node.
text_contentRepresents the text content of the node and its descendants.
ELEMENT_NODEAn element node
ATTRIBUTE_NODEAn attribute node
TEXT_NODEA text node
CDATA_SECTION_NODEA cdata section node
ENTITY_REFERENCE_NODEAn entity reference node
ENTITY_NODEAn entity node
PROCESSING_INSTRUCTION_NODEA processing instruction node
COMMENT_NODEA comment node
DOCUMENT_NODEA document node
DOCUMENT_TYPE_NODEA document type node
DOCUMENT_FRAGMENT_NODEA document fragment node
NOTATION_NODEA notation node
contextGets the current browsing context.
implementationThe DOMImplementation object that handles this document.
locationThe location of the document.
document_uriThe location of the document or null if undefined or if the Document was created using DOMImplementation.createDocument.
originGets the document origin.
character_setGets the document’s encoding.
charsetGets the document’s encoding.
input_encodingGets the document’s encoding.
content_typeGets the document content type.
ready_stateReturns the document readiness. The “loading” while the Document is loading, “interactive” once it is finished parsing but still loading sub-resources, and “complete” once it has loaded.
doctypeThe Document Type Declaration associated with this document.
document_elementThis is a convenience attribute that allows direct access to the child node that is the document element of the document.
first_element_childReturns the first child element node of this element. null if this element has no child elements.
last_element_childReturns the last child element node of this element. null if this element has no child elements.
previous_element_siblingReturns the previous sibling element node of this element. null if this element has no element sibling nodes that come before this one in the document tree.
next_element_siblingReturns the next sibling element node of this element. null if this element has no element sibling nodes that come after this one in the document tree.
child_element_countReturns the current number of element nodes that are children of this element. 0 if this element has no child nodes that are of nodeType 1.
childrenReturns the child elements.
xml_standaloneAn attribute specifying, as part of the XML declaration, whether this document is standalone. This is false when unspecified.
xml_versionAn attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if this document supports the “XML” feature, the value is “1.0”. If this document does not support the “XML” feature, the value is always null.
strict_error_checkingAn attribute specifying whether error checking is enforced or not. When set to false, the implementation is free to not test every possible error case normally defined on DOM operations, and not raise any DOMException on DOM operations or report errors while using Document.normalizeDocument(). In case of error, the behavior is undefined. This attribute is true by default.
default_viewThe defaultView IDL attribute of the Document interface, on getting,
must return this Document’s browsing context’s WindowProxy object,
if this Document has an associated browsing context, or null otherwise.
style_sheetsA list containing all the style sheets explicitly linked into or embedded in a document. For HTML documents, this includes external style sheets, included via the HTML LINK element, and inline STYLE elements.
titleThe title of a document as specified by the TITLE element
in the head of the document.
referrerReturns the URI [IETF RFC 2396] of the page that linked to this page. The value is an
empty string if the user navigated to the page directly (not through
a link, but, for example, via a bookmark).
domainThe domain name of the server that served the document, or
null if the server cannot be identified by a domain
name.
bodyThe element that contains the content for the document. In documents
with BODY contents, returns the BODY
element. In frameset documents, this returns the outermost
FRAMESET element.
imagesA collection of all the IMG elements in a document. The
behavior is limited to IMG elements for backwards
compatibility. As suggested by [HTML 4.01], to include images, authors may use
the OBJECT element or the IMG element.
Therefore, it is recommended not to use this attribute to find the
images in the document but getElementsByTagName with
HTML 4.01 or getElementsByTagNameNS with XHTML 1.0.
appletsA collection of all the OBJECT elements that include
applets and APPLET (deprecated) elements in a document.
linksA collection of all AREA elements and anchor (
A) elements in a document with a value for the
href attribute.
formsA collection of all the forms of a document.
anchorsA collection of all the anchor (A) elements in a document
with a value for the name attribute. For reasons of
backward compatibility, the returned set of anchors only contains
those anchors created with the name attribute, not those
created with the id attribute. Note that in [XHTML 1.0], the
name attribute (see section 4.10) has no semantics and
is only present for legacy user agents: the id attribute
is used instead. Users should prefer the iterator mechanisms provided
by [DOM Level 2 Traversal] instead.

Methods

MethodDescription
add_event_listenerSets up a function that will be called whenever the specified event is delivered to the target.


It works by adding a function, or an object that implements IEventListener,
to the list of event listeners for the specified event type on the EventTarget on which it’s called.
If the function or object, is already in the list of event listeners for this target, they are not added a second time.
add_event_listenerSets up a function that will be called whenever the specified event is delivered to the target.


It works by adding a function, or an object that implements IEventListener,
to the list of event listeners for the specified event type on the EventTarget on which it’s called.
If the function or object, is already in the list of event listeners for this target, they are not added a second time.
remove_event_listenerThis method allows the removal of event listeners from the event target.
If an IEventListener is removed from an EventTarget while it is processing an event, it will not be triggered by the current actions.
Event Listeners can never be invoked after being removed.
remove_event_listenerThis method allows the removal of event listeners from the event target.
If an IEventListener is removed from an EventTarget while it is processing an event, it will not be triggered by the current actions.
Event Listeners can never be invoked after being removed.
clone_nodeReturns a duplicate of the node on which this method was called.


Cloning a node copies all of its attributes and their values, including intrinsic (inline) listeners. It does not copy event listeners added using IEventTarget.add_event_listener or those assigned to element properties (e.g., node.onclick = someFunction). Additionally, for a HTMLCanvasElement element, the painted image is not copied.
clone_nodeReturns a duplicate of the node on which this method was called. Its parameter controls if the subtree contained in a node is also cloned or not.


Cloning a node copies all of its attributes and their values, including intrinsic (inline) listeners.
It does not copy event listeners added using IEventTarget.add_event_listener
or those assigned to element properties (e.g., node.onclick = someFunction). Additionally, for a HTMLCanvasElement element, the painted image is not copied.
navigateLoads the document at the specified Uniform Resource Locator (URL) into the current instance, replacing the previous content.
navigateLoads the document at the specified Uniform Resource Locator (URL) into the current instance, replacing the previous content.
navigateLoads the document from specified content and using baseUri to resolve relative resources, replacing the previous content.
navigateLoads the document from specified content and using baseUri to resolve relative resources, replacing the previous content.
navigateLoads the document from specified content and using baseUri to resolve relative resources, replacing the previous content.
Document loading starts from the current position in the stream.
navigateLoads the document from specified content and using baseUri to resolve relative resources, replacing the previous content.
Document loading starts from the current position in the stream.
navigateLoads the document based on specified request object, replacing the previous content.
create_node_iteratorCreate a new NodeIterator over the subtree rooted at the
specified node.
create_node_iteratorCreate a new NodeIterator over the subtree rooted at the
specified node.
create_node_iteratorCreate a new NodeIterator over the subtree rooted at the
specified node.
create_tree_walkerCreate a new TreeWalker over the subtree rooted at the
specified node.
create_tree_walkerCreate a new TreeWalker over the subtree rooted at the
specified node.
create_tree_walkerCreate a new TreeWalker over the subtree rooted at the
specified node.
saveSaves the document to local file specified by url. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document content and resources using the ResourceHandler.
saveSaves the document to local file specified by path. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document to local file specified by path. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document to local file specified by url. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document content and resources using the ResourceHandler.
saveSaves the document to local file specified by path. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document to local file specified by url. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document content and resources using the ResourceHandler.
saveSaves the document to local file specified by path. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document to local file specified by url. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document content and resources using the ResourceHandler.
saveSaves the document to local file specified by path. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document to local file specified by url. All resources used in this document will be saved in
to adjacent folder, whose name will be constructed as: output_file_name + “_files”.
saveSaves the document content and resources using the ResourceHandler.
get_platform_typeThis method is used to retrieve the ECMAScript object Type.
dispatch_eventDispatches an Event at the specified IEventTarget, (synchronously) invoking
the affected EventListeners in the appropriate order.
The normal event processing rules (including the capturing and optional bubbling phase) also apply to events
dispatched manually with IEventTarget.dispatch_event.
has_child_nodesReturns a boolean value indicating whether the given Node has child nodes or not.
normalizePuts all Text nodes in the full depth of the sub-tree underneath this Node, including attribute nodes, into a “normal” form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separates Text nodes, i.e., there are neither adjacent Text nodes nor empty Text nodes. This can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, and is useful when operations (such as XPointer [XPointer] lookups) that depend on a particular document tree structure are to be used. If the parameter “normalize-characters” of the DOMConfiguration object attached to the Node.ownerDocument is true, this method will also fully normalize the characters of the Text nodes.
is_equal_nodeTests whether two nodes are equal.
This method tests for equality of nodes, not sameness (i.e., whether the two nodes are references to the same object) which can be tested with Node.isSameNode(). All nodes that are the same will also be equal, though the reverse may not be true.
is_same_nodeMethod is a legacy alias the for the strict equality operator. That is, it tests whether two nodes are the same (in other words, whether they reference the same object).
lookup_prefixLook up the prefix associated to the given namespace URI, starting from this node. The default namespace declarations are ignored by this method.
See Namespace Prefix Lookup for details on the algorithm used by this method.
lookup_namespace_uriLook up the namespace URI associated to the given prefix, starting from this node.
is_default_namespaceThis method checks if the specified namespaceURI is the default namespace or not.
insert_beforeInserts the node before the existing child node child. If child is null, insert node at the end of the list of children.
If child is a DocumentFragment object, all of its children are inserted, in the same order, before child. If the child is already in the tree, it is first removed.
replace_childReplaces the child node oldChild with newChild in the list of children, and returns the oldChild node.
If newChild is a DocumentFragment object, oldChild is replaced by all of the DocumentFragment children, which are inserted in the same order. If the newChild is already in the tree, it is first removed.
remove_childRemoves a child node from the DOM and returns the removed node.
append_childAdds a node to the end of the list of children of a specified parent node. If the given child is a reference to an existing node in the document, Node.append_child moves it from its current position to the new position (there is no requirement to remove the node from its parent node before appending it to some other node).


This means that a node can’t be in two points of the document simultaneously. So if the node already has a parent, the node is first removed, then appended at the new position. The Node.clone_node method can be used to make a copy of the node before appending it under the new parent. Copies made with Node.clone_node are not be automatically kept in sync.
create_elementCreates the HTML element specified by , or an if localName isn’t recognized.
create_element_nsCreates an element of the given qualified name and namespace URI.
create_document_fragmentCreates a new empty DocumentFragment into which DOM nodes can be added to build an offscreen DOM tree.
create_text_nodeCreates a Text node given the specified string.
create_commentCreates a Comment node given the specified string.
create_cdata_sectionCreates a CDATASection node whose value is the specified string.
create_processing_instructionCreates a ProcessingInstruction node given the specified name and data strings.
create_attributeThis method creates a new attribute node, and returns it.
The object created is a node implementing the Attr class.
The DOM does not enforce what sort of attributes can be added to a particular element in this manner.
create_attribute_nsThis method creates a new attribute node, and returns it.
The object created is a node implementing the Attr class.
The DOM does not enforce what sort of attributes can be added to a particular element in this manner.
create_entity_referenceCreates an EntityReference object. In addition, if the referenced entity is known, the child list of the EntityReference node is made the same as that of the corresponding Entity node.
create_document_typeThe method returns a DocumentType object which can either be used
with IDOMImplementation.create_document upon document creation or can be put into the document via methods
like Node.insert_before or Node.replace_child.
get_elements_by_tag_nameThis method returns an HTMLCollection of elements with the given tag name.


The complete document is searched, including the root node.
The returned HTMLCollection is live,
meaning that it updates itself automatically to stay in sync with the DOM tree without having to call
this method again.
get_elements_by_tag_name_nsReturns a list of elements with the given tag name belonging to the given namespace.
The complete document is searched, including the root node.
get_element_by_idThis method returns an Element object representing the element whose id property matches the specified string. Since element IDs are required to be unique if specified, they’re a useful way to get access to a specific element quickly.


If you need to get access to an element which doesn’t have an ID, you can use Document.query_selector to find the element using any selector.
get_elements_by_class_nameThis method returns an array-like object of all child elements which have all the given class name(s).


When called on the document object, the complete document is searched, including the root node.
You may also call this method on any element; it will return only elements which are descendants
of the specified root element with the given class name(s).
query_selector_allReturns a NodeList of all the Elements in document, which match selector
query_selectorReturns the first Element in document, which match selector
import_nodeImports a node from another document to this document, without altering or removing the source node from the original document; this method creates a new copy of the source node.
create_eventCreates an Event of a type supported by the implementation.
writeWrite a string of text to a document stream opened by
open(). Note that the function will produce a document
which is not necessarily driven by a DTD and therefore might be
produce an invalid result in the context of the document.
write_lnWrite a string of text followed by a newline character to a document
stream opened by open(). Note that the function will
produce a document which is not necessarily driven by a DTD and
therefore might be produce an invalid result in the context of the
document
create_expressionCreates a parsed XPath expression with resolved namespaces. This is useful
when an expression will be reused in an application since it makes it possible
to compile the expression string into a more efficient internal form and
preresolve all namespace prefixes which occur within the expression.
create_ns_resolverAdapts any DOM node to resolve namespaces so that an XPath expression can be easily evaluated
relative to the context of the node where it appeared within the document. This adapter works
like the DOM Level 3 method lookupNamespaceURI on nodes in resolving the namespaceURI
from a given prefix using the current information available in the node’s hierarchy at the time
lookupNamespaceURI is called, also correctly resolving the implicit xml prefix.
evaluateEvaluates an XPath expression string and returns a result of the specified type if possible.
render_toThis method is used to print the contents of the current document to the specified device.
get_override_styleThis method is used to retrieve the override style declaration for a specified element and a specified pseudo-element.

See Also