querySelector()
querySelector()
함수는
HTML 문서나 특정한 요소 내에서 지정한 CSS 선택자와 일치하는 첫 번째 요소 객체를 반환합니다.
일치하는 요소가 없으면 null
을 반환합니다.
주의하세요!
지정한 선택자와 일치하는 모든 요소의 목록이 필요한 경우 querySelectorAll()
함수를 대신 사용해야 합니다.
- 김밥
- 라면
- 떡볶이
querySelector()
함수의 형식은 다음과 같습니다.
구문
매개변수
selectors |
문자열 형식의 유효한 CSS 선택자입니다. |
---|
반환 값
- HTML 문서나 특정한 요소 객체 내에서 지정한 CSS 선택자와 일치하는 첫 번째 요소 객체를 반환합니다.
- 일치하는 요소가 없으면
null
을 반환합니다.
예제
querySelector()
함수의 사용법을 예제를 통해 살펴보겠습니다.
특정한 요소 내에서 요소 찾기
특정한 요소 내에서 첫 번째 <p>
요소를 찾으려면 다음의 예시와 같이 작성할 수 있습니다.
특정 요소 스타일 변경하기
이 예제에서는 querySelector()
함수를 사용하여 id
가 "myElement"
인 요소를 선택하고, 선택한 요소의 스타일을 변경합니다.
이벤트 리스너 추가하기
이 예제에서는 querySelector()
함수를 사용하여 id
가 "myButton"
인 버튼 요소를 선택하고, 해당 버튼에 클릭 이벤트 리스너를 추가합니다. 버튼이 클릭될 때 메시지가 표시됩니다.
동적으로 내용 추가하기
코드 부연설명
createElement()
함수는 새로운 HTML 요소를 생성해서 반환합니다.
코드 부연설명
appendChild()
함수는 노드를 특정 노드의 마지막 자식으로 추가합니다.
이 예제에서는 querySelector()
함수를 사용하여 id
가 "myList"
인 목록 요소를 선택하고, 자바스크립트를 사용하여 목록에 동적으로 항목을 추가합니다. 이것은 동적으로 콘텐츠를 생성하고 추가하는 데 사용되는 일반적인 패턴 중 하나입니다.
일치하는 요소가 없을 때 null
을 반환
이 예제에서는 id
가 "nonExistentElement"
로 설정된 요소는 없으므로 querySelector()
로 선택한 #nonExistentElement
선택자는 일치하는 요소가 없어 null
을 반환합니다. 그런 다음 자바스크립트에서 if...else
문을 사용하여 결과를 확인하고 콘솔에 메시지를 출력합니다. 결과는 "일치하는 요소가 없습니다."가 될 것입니다.
브라우저 호환성
함수 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
querySelector()
|
1 | 12 | 3.5 | 3.1 |
명세서
명세서 사양 | |
---|---|
querySelector()
|
DOM Standard #ref-for-dom-parentnode-queryselector① |