웹 페이지 내에서 요소에 접근하는 매서드
id를 통해 요소에 접근하는 방법이다.
예시
<div id="elem"> <div id="elem-content">Element</div> </div> <script> // 요소 얻기 let elem = document.getElementById('elem'); // 배경색 변경하기 elem.style.background = 'red'; </script>
class를 통해 요소에 접근하는 방법이다.
해당 클래스 속성값에 대응하는 모든 요소들을 담은 컬렉션을 반환.
예시
<div class="elem"> <div id="elem-content">Element</div> </div> <script> // 요소 얻기 let elem = document.getElementsByClassName('elem')[0]; // 배경색 변경하기 elem.style.background = 'red'; </script>
태그를 통해 요소에 접근하는 방법이다.
해당 태그네임의 모든 요소 노드를 컬렉션으로 반환.
태그네임에 *이 들어가면 모든 태그가 검색된다.
예시
<div class="elem"> <div id="elem-content">Element</div> </div> <script> // 요소 얻기 let elem = document.getElementsByTagName('div')[0]; // 배경색 변경하기 elem.style.background = 'red'; </script>
name속성값을 담은 요소를 컬렉션으로 반환.
예시
<form name = "myName"> <div class="elem"> <div id="elem-content">Element</div> </div> <script> // 요소 얻기 let elem = document.getElementsByName('myName')[0]; // 배경색 변경하기 elem.style.background = 'red'; </script>
CSS선택자에 대응하는 요소들을 컬렉션으로 반환.
예시
<ul> <li>1-1</li> <li>1-2</li> </ul> <ul> <li>2-1</li> <li>2-2</li> </ul> <script> let elements = document.querySelectorAll('ul > li:last-child'); for (let elem of elements) { alert(elem.innerHTML); // "1-2", "2-2" } </script>가상 클래스도 사용 가능
<ul> <li>1-1</li> <li>1-2</li> </ul> <ul> <li>2-1</li> <li>2-2</li> </ul> <script> let elements = document.querySelectorAll('ul:hover')// 마우스 포인터가 hover상태인 ul을 반환 </script>
CSS선택자에 대응하는 요소들중 첫번째를 반환.
<ul> <li>1-1</li> <li>1-2</li> </ul> <ul> <li>2-1</li> <li>2-2</li> </ul> <script> let elements = document.querySelector('ul')// ul태그중 첫번째 ul 반환 console.log(elements) // 첫번쨰 ul태그 내용 출력 </script>
예시
<div>첫 번째 div</div> <script> let getDivs = document.getElementsByTagName('div'); let divs = document.querySelectorAll('div'); console.log(getDivs.length); //1 console.log(divs.length); // 1 </script> <div>두 번째 div</div> <script> console.log(getDivs.length); //2 console.log(divs.length); // 1 </script>
matches(css) : css선택자와 해당 요소의 일치여부 검사closest(css) : 해당 css선택자와 일치하는 가장 가까운 조상요소 반환테이블과 폼이 있는 문서가 있다고 가정합시다.
아래 조건에 맞는 요소는 어떻게 찾을 수 있을까요?