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