• JavaScript Video Tutorials

JavaScript - Document Object



Window Document Object

The document object is a JavaScript object that provides the access to all elements of an HTML document. When the HTML document is loaded in the web browser, it creates a document object. It is the root of the HTML document.

The document object contains the various properties and methods you can use to get details about HTML elements and customize them.

The JavaScript document object is a property of the window object. It can be accessed using window.document syntax. It can also be accessed without prefixing window object.

JavaScript Document Object Properties

The JavaScript Document Object represents the entire HTML document, and it comes with several properties that allow us to interact with and manipulate the document. Some common Document object properties are as follows –

  • document.title − Gets or sets the title of the document.

  • document.URL − Returns the URL of the document.

  • document.body − Returns the <body> element of the document.

  • document.head − Returns the <head> element of the document.

  • document.documentElement − Returns the <html> element of the document.

  • document.doctype − Returns the Document Type Declaration (DTD) of the document.

These properties provide a way to access and modify different parts of the HTML document using JavaScript.

Example: Accessing the document title

In the example below, we use the document.title property to access the property odd the document.

<html>
<head>
   <title> JavaScript - DOM Object </title>
</head>
<body>
   <div id = "output">The title of the document is: </div>
   <script>
      document.getElementById("output").innerHTML += document.title;
   </script>
</body>
</html>

Output

The title of the document is: JavaScript - DOM Object

Example: Accessing the document URL

In the example below, we have used the document.URL property to access the current URL of the page.


<html>
<head>
   <title> JavaScript - DOM Object </title>
</head>
<body>
   <div id = "output">The URL of the document is: </div>
   <script>
      document.getElementById("output").innerHTML += document.URL;
    </script>
</body>
</html>

Output

The URL of the document is: https://www.tutorialspoint.com/javascript/javascript_document_object.htm

JavaScript Document Object Methods

The JavaScript Document Object provides us with various methods that allow us to interact with and manipulate the HTML document. Some common Document object methods are as follows –

  • getElementById(id) − Returns the element with the specified ID.

  • getElementsByClassName(className) − Returns a collection of elements with the specified class name.

  • getElementsByTagName(tagName) − Returns a collection of elements with the specified tag name.

  • createElement(tagName) − Creates a new HTML element with the specified tag name.

  • createTextNode(text) − Creates a new text node with the specified text.

  • appendChild(node) − Appends a node as the last child of a node.

  • removeChild(node) − Removes a child node from the DOM.

  • setAttribute(name, value) − Sets the value of an attribute on the specified element.

  • getAttribute(name) − Returns the value of the specified attribute on the element.

These methods enable us to dynamically manipulate the structure and content of the HTML document using JavaScript.

Example: Accessing HTML element using its id

In the example below, we use document.getElementById() method to access the DIV element with id "output" and then use the innerHTML property of the HTML element to display a message.

<html>
<body>
<div id = "result"> </div>
<script>
   // accessing the DIV element.
   document.getElementById("result").innerHTML += 
   "Hello User! You have accessed the DIV element using its id.";
</script>
</body>
</html>

Output

Hello User! You have accessed the DIV element using its id.

Example: Adding an event to the document

In the example below, we use document.addEventListener() method to add a mouseover event to the document.

<html>
<body>
   <div id = "result">
       <h2> Mouseover Event </h2>
       <p> Hover over here to change background color </p>
    </div>
   <script>
      document.addEventListener('mouseover', function () {
         document.getElementById("result").innerHTML = "Mouseover event occurred.";
      });
   </script>
</body>
</html>

Document Object Properties List

Here, we have listed all properties of the document object.

Property Description
document.activeElementTo get the currently focused element in the HTML document.
adoptedStyleSheetsIt sets the array of the newly constructed stylesheets to the document.
baseURITo get the absolute base URI of the document.
bodyTo set or get the document’s <body> tag.
characterSetTo get the character encoding for the document.
childElementCountTo get a count of the number of child elements of the document.
childrenTo get all children of the document.
compatModeTo get a boolean value representing whether the document is rendered in the standard modes.
contentTypeIt returns the MIME type of the document.
cookieTo get the cookies related to the document.
currentScriptIt returns the script of the document whose code is currently executing.
defaultViewTo get the window object associated with the document.
designModeTo change the editability of the document.
dirTo get the direction of the text of the document.
doctypeTo get the document type declaration.
documentElementTo get the <html> element.
documentURITo set or get the location of the document.
embedsTo get all embedded (<embed>) elements of the document.
firstElementChildTo get the first child element of the document.
formsIt returns an array of <form> elements of the document.
fullScreenElementTo get the element that is being presented in the full screen.
fullScreenEnabledIt returns the boolean value, indicating whether the full screen is enabled in the document.
headIt returns the <head> tag of the document.
hiddenIt returns a boolean value, representing whether the document is considered hidden.
imagesIt returns the collection of the <img> elements.
lastElementChildIt returns the last child element of the document.
lastModifiedTo get the last modified date and time of the document.
linksTo get the collection of all <a> and <area> elements.
locationTo get the location of the document.
readyStateTo get the current state of the document.
referrerTo get the URL of the document, which has opened the current document.
scriptsTo get the collection of all <script> elements in the document.
scrollingElementTo get the reference to the element which scrolls the document.
styleSheetsIt returns the style sheet list of the CSSStyleSheet object.
timeLineIt represents the default timeline of the document.
titleTo set or get the title of the document.
URLTo get the full URL of the HTML document.
visibilityStateIt returns the boolean value, representing the visibility status of the document.

Document Object Methods List

The following is a list of all JavaScript document object methods −

Method Description
addEventListener()It is used to add an event listener to the document.
adoptNode()It is used to adopt the node from the other documents.
append()It appends the new node or HTML after the last child node of the document.
caretPositionFromPoint()It returns the caretPosition object, containing the DOM node based on the coordinates passed as an argument.
close()It closes the output stream opened using the document.open() method.
createAttribute()It creates a new attribute node.
createAttributeNS()It creates a new attribute node with the particular namespace URI.
createComment()It creates a new comment node with a specific text message.
createDocumentFragment()It creates a DocumentFragment node.
createElement()It creates a new element node to insert into the web page.
createElementNS()It is used to create a new element node with a particular namespace URI.
createEvent()It creates a new event node.
createTextNode()It creates a new text node.
elementFromPoint()It accesses the element from the specified coordinates.
elementsFromPoint()It returns the array of elements that are at the specified coordinates.
getAnimations()It returns the array of all animations applied on the document.
getElementById()It accesses the HTML element using the id.
getElementsByClassName()It accesses the HTML element using the class name.
getElementsByName()It accesses the HTML element using the name.
getElementsByTagName()It accesses the HTML element using the tag name.
hasFocus()It returns the boolean value based on whether any element or document itself is in the focus.
importNode()It is used to import the node from another document.
normalize()It removes the text nodes, which are empty, and joins other nodes.
open()It is used to open a new output stream.
prepand()It is used to insert the particular node before all nodes.
querySelector()It is used to select the first element that matches the css selector passed as an argument.
querySelectorAll()It returns the nodelist of the HTML elements, which matches the multiple CSS selectors.
removeEventListener()It is used to remove the event listener from the document.
replaceChildren()It replaces the children nodes of the document.
write()It is used to write text, HTML, etc., into the document.
writeln()It is similar to the write() method but writes each statement in the new line.
Advertisements