Updating DOM Elements
Once you've selected an element, you can update its content, attributes, and styles to make your page interactive.
π‘ Key insight
textContent is safer than innerHTML because it doesn't parse HTML β use textContent unless you specifically need HTML rendering.
Changing Content
element.textContent = "New text"β sets plain textelement.innerHTML = "<strong>HTML</strong>"β sets HTML contentelement.innerText = "Visible text"β similar to textContent but respects CSS
Changing Attributes
element.setAttribute('class', 'active')β sets an attributeelement.getAttribute('class')β gets an attributeelement.removeAttribute('class')β removes an attributeelement.id = "newId"β directly set properties
Working with Classes
element.classList.add('active')β adds a classelement.classList.remove('active')β removes a classelement.classList.toggle('active')β toggles a classelement.classList.contains('active')β checks for a class
Common Mistakes
- Using
innerHTMLwhentextContentwould be safer - Setting attributes directly without checking if the element exists
- Forgetting to use
classListmethods instead of manipulating className strings
Quick Quiz
1. Which method is safer for setting plain text content?
2. How do you add a class to an element?
3. What does classList.toggle('active') do?
Summary
textContentβ sets plain text (safer)innerHTMLβ sets HTML content (use carefully)classList.add(),remove(),toggle(),contains()- Use
setAttribute()andgetAttribute()for custom attributes - Direct property access:
element.id,element.value
