Skip to content
Clairos Learn

DOM and events · Lesson 5 of 10 · 7 minutes

DOM and events: Class additions

classList.add adds a class without replacing unrelated classes already on the element.

Mastery 0/3Run itExplain itApply it
Web workshopInert preview · code inspection

Current edit

PreviewNo external resources

Understand the pattern

classList.add adds a class without replacing unrelated classes already on the element.

classList.add adds a class without replacing unrelated classes already on the element.

Misconceptions to reject

  • A string containing code executes automatically when it is assigned.
  • A successful element lookup guarantees that the rest of an event handler is correct.

This is a code-inspection lab, not a full JavaScript runtime.

Worked example and expected result
const panel = document.querySelector("#panel");
const stateClass = "ready";
if (panel) { panel.classList.add(stateClass); }

classList.add adds a class without replacing unrelated classes already on the element.

Try a variation

Adapt the final example to a different project name while retaining its structure and relationships. A different context still needs a real browser and accessibility check.

Explain it

Which statement correctly explains class additions?

Apply it elsewhere

You reuse class additions in a different project. What must still be verified?

Keep the momentum.

Complete the lab, then explain and apply the pattern.

Next: DOM and events: Class togglesTry an incident drill

Anonymous lesson and mastery progress lasts for this session. Sign in to keep synced lesson XP between sessions; mastery stays device-local. No speed bonus, lost lives, or hint penalties.

Keep learning

  1. 01DOM and events: Text updatestextContent inserts text rather than parsing HTML, making it the appropriate choice for a plain status message.Practice
  2. 02DOM and events: Class togglesclassList.toggle alternates membership unless given an explicit force boolean.Practice
  3. 03DOM and events: Data attributesdataset exposes data-* values as strings; data-lesson-id becomes dataset.lessonId.Practice