FrontEnd
[JS] querySelector vs getElement
KJihun
2025. 4. 7. 09:26
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