본문 바로가기
카테고리 없음

[JS] 바닐라 JS로 크롬앱 만들기 - 요소 가져오기

by 뭉제 2023. 6. 30.
목차
1. document
2. HTML 요소 가져오기

 

 

1. JavaScript는 사용자와 상호작용을 하는 언어이다.

2. 웹 브라우저는 한번 화면에 출력된 페이지를 바꿀 수 없다.

 

=> JavaScript는 html을 제어하는 언어 

 

 

document


콘솔에 document를 입력하면 작성한 html을 볼 수 있다.

 

콘솔에 console.dir(document)를 입력한다.

위처럼 document는 많은 항목들이 들어있는 객체이다.

 

document는 html을 JavaScript의 관점으로 보여준다.

 

JavaScript에서 document 객체로부터 항목을 가지고 올 수 있다.

 

만약 title을 변경한다면

아래처럼 바뀌는 것을 확인할 수 있다.

 

이렇게 JavaScript에서는 html을 읽고 변경할 수도 있다.


<body> 태그 안에 다음 코드를 작성한다. 

<h1 id="title">Grab me!</h1>

 

JavaScript로 정보를 가지고 올 수 있는 방법은 document 객체와 요소를 가져오는 메소드들을 이용하는 것이다.

document 객체는 HTML 요소와 관련된 작업을 도와주는 메소드를 제공한다.

 

 

HTML 요소 가져오기


웹 페이지에 존재하는 HTML 요소에 접근하고자 할 때 document 객체부터 시작해야 한다.

 

아이디

· getElementById(아이디): 해당 id를 가진 요소를 선택

 

const title = document.getElementById("title");

 

 

요소를 더 자세하게 보여주는 console.dir()를 사용한다.

console.dir(title);

JavaScript는 위처럼 html을 표현하는 객체를 보여준다.

JavaScript를 통해 요소에서 항목들을 가져오거나 변경할 수 있다.

 

 

클래스

· getElementsByClassName(클래스): 해당 클래스 이름을 가진 요소를 모두 선택

 

const hellos = document.getElementsByClassName("hello");

 

콘솔에 class="hello"인 h1 요소들을 모두 볼 수 있다.

배열이기 때문에 hellos. 으로 항목들을 가져올 수 없다.

 

=> 많은 요소를 한번에 가지고 와야하는 경우 사용

 

 

태그

· getElementsByTagName(태그): 해당 태그의 요소를 모두 선택

 

const title = document.getElementsByTagName("h1");

 

 

CSS 선택자

· querySelecrtor(선택자): 선택자에 해당하는 요소 중 첫번째 요소만 선택

· querySelecrtorAll(선택자): 선택자에 해당하는 요소를 모두 선택

 

const title = document.querySelector(".hello h1");

 

class="hello"인 h1이 3개일 때 querySelector를 사용한다면 어떤 게 나올까?

첫 번째 것 하나만 나온다.

 

만약 3개 모두를 가져오고 싶다면 

const title = document.querySelectorAll(".hello h1");

querySelectorAll은 3개의 h1이 들어있는 배열을 가져온다.

 

=> querySelector는 CSS 선택자를 사용해 검색할 수 있다. 하나의 요소만 리턴한다.

=> 조건에 맞는 모든 요소를 찾고 싶다면, querySelectorAll을 사용하면 된다.

 

댓글