45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
---
|
|
title: HTML Dom
|
|
---
|
|
## HTML Dom
|
|
|
|
With the HTML DOM, JavaScript can access and change all the elements of an HTML document.
|
|
|
|
When a web page is loaded, the browser creates a **D**ocument **O**bject **M**odel of the page.
|
|
|
|
The HTML DOM model is constructed as a tree of Objects:
|
|
|
|
Each element in the DOM is also called a node.
|
|
|
|
```html
|
|
<html>
|
|
<head>
|
|
<title> My title </title>
|
|
</head>
|
|
<body>
|
|
<a href="#">My Link</a>
|
|
<h1> My header </h1>
|
|
</body>
|
|
</html>
|
|
|
|
```
|
|
|
|
The DOM for the above HTML is as follows:
|
|
|
|
![DOM tree](https://www.w3schools.com/js/pic_htmltree.gif)
|
|
|
|
With the object model, JavaScript gets all the power it needs to create dynamic HTML:
|
|
|
|
* JavaScript can change all the HTML elements in the page
|
|
* JavaScript can change all the HTML attributes in the page
|
|
* JavaScript can change all the CSS styles in the page
|
|
* JavaScript can remove existing HTML elements and attributes
|
|
* JavaScript can add new HTML elements and attributes
|
|
* JavaScript can react to all existing HTML events in the page
|
|
* JavaScript can create new HTML events in the page
|
|
|
|
#### More Information:
|
|
|
|
<a href='https://www.w3schools.com/js/js_htmldom.asp' target='_blank' rel='nofollow'>W3C - HTML DOM</a>
|
|
|