2022. 7. 1. 22:45ㆍProgram/JavaScript
131_자바스크립트 셀렉터 조건 만족하는 요소 모두 가져오기
[적용]
- 셀렉터명과 일치하는 요소를 정리하여 작업을 처리하고 싶을 때
[문법]
메소드 | 의미 | 반환 |
document.querySelectorAll(셀렉터명) | 셀렉터명 일치 요소 모두 가져오기 | 배열(NodeList) |
[내용]
document.querySelectorAll()은 셀렉터명과 일치하는 HTML 요소를 모두 가져오며,
반환값은 요소를 하나의 배열로 정리한 객체(NodeList 객체)다.
배열 요소의 값은 forEach()를 사용해 접근할 수 있다.
콜백 함수를 사용한 요소의 처리도 가능하다.
HTML index.html
<div class="box">박스1</div>
<div class="box">박스2</div>
<div class="box">박스3</div>
JavaScript main.js
// .box 요소 모두 가져오기
const boxList = document.querySelectAll('.box');
boxList.forEach((targetBox) => {
// 각 box 요소 출력
console.log(targetBox);
});
[예시 1]
forEach() 외에도 for문을 사용할 수 있다.
const boxList = document.querySelectorAll('.box');
const boxLength = boxList.length;
for (let index = 0; index < boxLength; index++) {
// 각 box 요소 출력
console.log(boxList[index]);
});
[예시 2]
3개의 box 중 클릭한 곳의 텍스트를 알림창으로 표시하는 샘플을 확인해 보자
HTML index.html
<div class="box">박스1</div>
<div class="box">박스2</div>
<div class="box">박스3</div>
JavaScript main.js
// 각 .box 요소 루프 처리
document.querySelectorAll('.box').forEach((targetBox) => {
// .box 요소 클릭 시 처리 작업
targetBox.addEventListener('click', () => {
// 클릭한 .box 요소의 텍스트 표시
alert(`${targetBox.textContect} 클릭`);
});
});
실행결과
클릭한 요소의 내용이 알림창으로 표시된다.
참조 :
실무에 바로 적용하는 자바스크립트 코드레시피 278
아케다 야스노부, 카노 타케시 지음 / 이춘혁 옮김
'Program > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 <html>,<body> 요소 읽어 오기 (0) | 2022.07.05 |
---|---|
[JavaScript] 자바스크립트 클래스명으로 요소 읽어 오기 (0) | 2022.07.05 |
[JavaScript] 자바스크립트 ID의 각 요소 값 읽어오기 (0) | 2022.07.01 |
[JavaScript] 자바스크립트 셀렉터 사용하기 (0) | 2022.07.01 |
[JavaScript] 자바스크립트 요소 다루기 (0) | 2022.07.01 |