Memorize JavaScript DOM and Event Handling: 59 Flashcards From querySelector to Event Delegation
Master the JavaScript DOM with deck PV4232: 59 cards on querySelector, bubbling vs capturing, event delegation and DocumentFragment, plus key study tips.

Studying. But it's also a video game. 🎮
Flashcards, quizzes and games that make you actually remember.
Posted by
Related reading
Learn Vue.js Core Concepts: 30 Flashcards on Reactivity, Directives and the Vue Ecosystem
Learn Vue.js with deck XT7941: 30 flashcards on directives, virtual DOM, reactivity, computed vs watch, Pinia, Vue Router and Vite, plus the cards to update.
OWASP Top 10 Flashcards: Study the 2021 List and Update It for 2025
Study OWASP Top 10 with 35 flashcards on injection, SSRF, SAST, DAST, IAST and RASP, then add the missing #1 risk and the new OWASP 2025 ranking.
Learn CSS Flexbox and Grid in German: 58 Flashcards on Hauptachse, Spuren and Zellen
Learn CSS Flexbox and Grid with German backs: 58 real flashcards on Hauptachse, Querachse, Spur and Zelle, plus the Zeile trap and three backs to fix.
The DOM is where JavaScript meets the page, and deck PV4232 – JavaScript: DOM & Event Handling covers it in 59 cards, each with a one-line example. Here's how to memorize it so the methods come out right in your editor, not just on the flip side.
Study this deck: JavaScript: DOM & Event Handling
1 / 10DOM
Tap the card for the answer · swipe right if you knew it, left if not
Sample cards
| Front | Back |
|---|---|
| the DOM vs JavaScript | JavaScript is the language; the DOM is a Web API it uses. The DOM is not part of JavaScript itself |
| element.style vs getComputedStyle() | style only reads inline styles; getComputedStyle() returns everything, stylesheets included |
| Event.target | The element that triggered the event; may be a child of the element with the listener |
| Event.currentTarget | The element where addEventListener was called |
| Event delegation | One listener on a parent, using event.target to identify the child |
| NodeList vs HTMLCollection | NodeList can hold any node type and is usually static; HTMLCollection holds elements only and is live |
| Why use DocumentFragment? | Batches DOM changes to minimize reflows and repaints |
| Window.onload vs DOMContentLoaded | DOMContentLoaded fires once the DOM is parsed; load waits for images |
What the 59 cards cover
Selecting: getElementById, getElementsByClassName, getElementsByTagName, querySelector, querySelectorAll, matches, closest. Building: createElement, appendChild, insertBefore, insertAdjacentHTML (beforebegin, afterbegin, beforeend, afterend), cloneNode(true), replaceChild, removeChild, remove, DocumentFragment. Content and attributes: innerHTML, textContent, getAttribute, setAttribute, classList.toggle, dataset (kebab-case to camelCase), inline style. Traversal: children vs childNodes, parentElement, nextElementSibling, firstElementChild. Events: addEventListener/removeEventListener (same function reference), preventDefault, stopPropagation, bubbling, capturing, event.key (not keyCode/which), clientX vs pageX. Extras: MutationObserver, requestAnimationFrame, getBoundingClientRect, scrollIntoView({behavior:'smooth'}).
Study tips for this deck
Learn propagation as three phases, not two cards. Cards 22 and 23 present bubbling and capturing separately. Draw one diagram instead: capture (window → target), target, bubble (target → window). Then attach target, currentTarget, stopPropagation and the third argument true (or {capture: true}) to that drawing, and cards 21-27 become a single picture.
Tag the events that don't bubble. Card 19 lists focus, blur, mouseenter and mouseleave among common events, but none of them bubble, so delegation (card 26) silently fails with them. Add one card: "Delegating focus or hover? Use focusin/focusout and mouseover/mouseout."
Two small fixes: restore the real casing on fronts like InnerHTML, AddEventListener() or GetBoundingClientRect() (it's innerHTML, addEventListener(); capitalized, they throw), and read card 57's "60fps" as "the display's refresh rate", since 120 Hz screens call requestAnimationFrame twice as often. Worth adding: the modern append, prepend, before, after, replaceWith, and a warning that innerHTML with user input opens XSS; use textContent instead.
Pair it with our JavaScript ES6+ features guide, and the markup you manipulate with HTML tags and attributes. Find PV4232 in the library on Flip It.
Ready to learn faster? 🚀
Join FLIP IT for free and turn studying into a game.