##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
Manipulate web pages with the Document Object Model
What the DOM is and why it matters
Entry point to the DOM
Parent, child, and sibling relationships
Find elements with getElementById
Find elements with getElementsByClassName
Find elements by tag name
Select with CSS selectors
Select all matching elements
textContent and innerHTML
Modify text and HTML
Get and set element attributes
Manage CSS classes
Modify styles directly
Read actual applied styles
Build new DOM nodes
Add elements to the page
Control where elements appear
Delete elements from the page
Duplicate existing elements
Move between elements
Batch DOM updates
Reusable HTML templates
Store custom data on elements
Write efficient DOM code
Know when the DOM is ready
Review of DOM manipulation