728x90
1. getElementById, getElementsByClassName, getElementsByTagName
✅ 장점
- 성능이 빠름 (특히 getElementById)
❌ 단점
- getElementsByClassName과 getElementsByTagName은 HTMLCollection을 반환 → 배열 같지만 실제 배열 아님 (Array methods 사용 불가)
- 복잡한 CSS 선택자는 사용할 수 없음
2. querySelector, querySelectorAll
✅ 장점
- CSS 선택자 문법 지원 → #id, .class, div > span, ul li.active 등 복잡한 선택 가능
- 더 유연하고 강력함
- querySelector는 단일 요소, querySelectorAll은 NodeList 반환 → 반복문 가능 (forEach 등)
❌ 단점
- 성능은 getElementById보다는 느림 (대규모 DOM에서는 미세 차이)
💡 추천 사용 패턴
- 단순하게 id만 필요하면: getElementById
- 클래스나 태그 반복 처리 시: querySelectorAll
- 복잡한 조건 선택이 필요할 때: querySelector, querySelectorAll
'FrontEnd' 카테고리의 다른 글
[React] Vite 를 사용하여 React 설치 및 기본설정 (0) | 2025.04.26 |
---|---|
[FrontEnd] jQuery 화살표 함수(=>)의 this (0) | 2025.04.10 |
[JS] Bubbling, Capturing, Event Propagation, 이벤트 전파 (0) | 2025.04.01 |
[JS] 비동기로 데이터 처리(async/await, fetch then) (0) | 2025.04.01 |
HTML DOM(Document Object Model) (0) | 2025.03.18 |