Javascript & Typescript
[Javascript] querySelector() 를 활용하여 CSS 속성 변경하기
zubetcha
2021. 10. 24. 16:43
01. querySelector() method
querySelector() 메소드를 활용하면 특정 CSS Selector를 연결시켜 각 element 의 속성들을 동적으로 변경할 수 있다.
각 Selector의 리턴 예시
- tag > document.querySelector("example");
- class > document.querySelector(".example");
- id > document.querySelector("#example");
- 특정 class 를 포함하고 있는 첫 번째 <p> tag > document.querySelector("p.example");
- <div> parent tag 로 감싸고 있는 첫 번째 <p> tag > document.querySelector("div > p");
- target 속성을 가지고 있는 첫 번째 <a> tag > document.querySelector("a[target]");
※ querySelector() 메소드는 특정 Selector와 연결되어 있는 첫 번째 element만 지정하므로, 해당 selector를 모두 지정하고 싶은 경우 querySelectorAll() 메소드를 이용한다.
※ 여러 selector를 지정하고 싶은 경우 콤마(,)를 사용하여 각 selector를 분리시켜 주면 되나 반환되는 건 document에서 먼저 작성된 selector이다.
02. querySelector() method 를 활용하여 CSS 동적 변경
HTML 에 이벤트가 발생했을 때에 한하여 코드를 변경해주는 방법이다.
HTML에서 발생하는 이벤트 예시
- 버튼 또는 링크를 클릭했을 때
- 페이지가 로드되었을 때
- Input 안의 영역이 변경되었을 때
CSS 속성 변경 문법
documnet.querySelector('Selector').style.변경할 attribute = '변경 내용';
/* CSS attribute에 - 가 들어가는 경우 - 를 지운 후 - 뒤에 있던 알파벳을 대문자로 써줌 */
코드 예시
<div class="colorbtn">
/* night 버튼을 클릭하면 body의 전체 배경색이 black으로 변경됨 */
<input type="button" value="night" onclick="
document.querySelector('body').style.backgroundColor = 'black';
">
/* day 버튼을 클릭하면 body의 전체 배경색이 white로 변경됨 */
<input type="button" value="day" onclick="
document.querySelector('body').style.backgroundColor = 'white';
">
</div>
페이지 구현 화면