Browser
DOM Manipulation
The Document Object Model (DOM) is a representation of an HTML document that JavaScript can manipulate dynamically. Using JavaScript, developers can access, modify, and update HTML elements and styles in real time.
Accessing DOM Elements
JavaScript provides several methods to select elements from the DOM.
Using getElementById
(Select by ID)
Returns a single element matching the specified id
.
Using getElementsByClassName
(Select by Class)
Returns a collection (HTMLCollection) of elements that match the class name.
Using getElementsByTagName
(Select by Tag)
Returns a collection of elements matching the tag name.
Using querySelector
(Select First Match)
Returns the first matching element based on a CSS selector.
Using querySelectorAll
(Select All Matches)
Returns a NodeList of elements that match a CSS selector.
Modifying DOM Elements
Changing Text Content
The textContent
and innerHTML
properties allow updating element content.
innerHTML
allows inserting HTML inside an element.
Changing Attributes
The setAttribute
and getAttribute
methods modify element attributes.
Removing an attribute:
Modifying Styles
The style
property allows modifying CSS properties directly.
Adding or removing a CSS class:
Creating and Removing Elements
Creating New Elements
Use document.createElement()
to generate new HTML elements dynamically.
Removing Elements
Use remove()
to delete an element.
Removing a child element:
Handling Events in JavaScript
Adding Event Listeners
The addEventListener()
method attaches event handlers to elements.
Common Event Types
click
– When an element is clicked.mouseover
– When the mouse hovers over an element.keydown
– When a key is pressed.submit
– When a form is submitted.
Example:
Removing Event Listeners
Use removeEventListener()
to detach event handlers.
Event Delegation
Instead of adding an event listener to multiple elements, use event delegation on a parent element.
Conclusion
DOM manipulation is essential for dynamic web applications. This section covered selecting, modifying, and interacting with elements. The next section will focus on event handling in depth, covering advanced techniques and best practices.
Join our Community Forum
Any other questions? Get in touch