Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM querySelectorAll() 메서드 완벽 정리 – 문법과 실전 예제

HTML DOM의 querySelectorAll() 메서드는 매개변수로 전달된 CSS 선택자와 일치하는 문서 내 모든 요소를 NodeList 형태로 반환하는 메서드입니다. 단일 요소만 가져오는 querySelector()와 달리, 조건에 맞는 여러 개의 요소를 한 번에 다룰 수 있어 반복 처리에 매우 유용합니다.

문법(Syntax)

querySelectorAll() 메서드의 기본 문법은 다음과 같습니다.

document.querySelectorAll("CSS 선택자");

매개변수에는 클래스(.class), 아이디(#id), 태그명 등 유효한 CSS 선택자 문자열을 지정할 수 있습니다.

예제(Example)

아래 예제는 querySelectorAll() 메서드를 활용해 페이지 내 모든 문단(p) 요소의 스타일을 한꺼번에 변경하는 방법을 보여줍니다.

<!DOCTYPE html>
<html>
<head>
<style>
    html{
       height:100%;
    }
    body{
       text-align:center;
       color:#fff;
       background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) center/cover no-repeat;
       height:100%;
    }
    .drop-down{
       width:35%;
       border:2px solid #fff;
       font-weight:bold;
       padding:8px;
    }
    .btn{
       background:#0197F6;
       border:none;
       height:2rem;
       border-radius:2px;
       width:35%;
       margin:2rem auto;
       display:block;
       color:#fff;
       outline:none;
       cursor:pointer;
    }
    .show{
       font-size:1.5rem;
       font-weight:bold;
    }
</style>
</head>
<body>
<h1>DOM querySelectorAll() 메서드 데모</h1>
<p class="para">안녕하세요! 랜덤 텍스트가 담긴 문단입니다.</p>
<p class="para">멋진 문단입니다.</p>
<p class="para">저는 HTML의 &lt;p&gt; 요소입니다</p>
<button onclick="changeColor()" class="btn">모든 문단 스타일 변경하기</button>
<script>
    function changeColor() {
       var paraElements = document.querySelectorAll(".para");
       paraElements.forEach((paraElement)=>{
          paraElement.style.color="#db133a";
          paraElement.style.fontSize="1.2rem";
       });
    }
</script>
</body>
</html>

위 코드에서는 document.querySelectorAll(".para")를 사용해 para 클래스를 가진 모든 문단 요소를 선택한 뒤, forEach() 메서드로 각 요소를 순회하며 글자 색상과 크기를 변경하고 있습니다.

실행 결과(Output)

위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

HTML DOM querySelectorAll() 메서드 완벽 정리 – 문법과 실전 예제

파란색 버튼을 클릭하면 페이지에 있는 모든 문단 요소의 스타일이 한 번에 변경됩니다.

HTML DOM querySelectorAll() 메서드 완벽 정리 – 문법과 실전 예제

핵심 포인트

  • querySelectorAll()은 조건에 일치하는 모든 요소를 NodeList로 반환합니다.
  • 반환된 NodeList는 forEach()로 순회하여 각 요소를 개별적으로 제어할 수 있습니다.
  • CSS 선택자 문법을 그대로 사용하므로 클래스, 아이디, 태그, 속성 선택자 등을 자유롭게 활용할 수 있습니다.