## Query
- `document.querySelector()`: returns first matching element
- `document.querySelectorAll()`: returns all matching elements
- `document.getElementById(id)`

## DOM Node
- `addEventListener(event, cb)`
- `appendChild(node)`
- `childNodes`
- `classList`
    - `add(cl)`
    - `contains(cl)`
    - `toggle(cl)`
    - `remove(cl)`
- `cloneNode(true)`
- `closest(query)`
- `getAttribute(att)`
- `hasChildNodes()`
- `matches(query)`
- `nextSibling`
- `parentNode`
- `removeChild(child_node)`
- `setAttribute(att, val)`

## Document
- `document.createElement(tag_name)`
- `document.addEventListener('DOMContentLoaded', cb)`