DOM이란 웹페이지의 HTML을 계층화시켜 tree구조로 만든 객체 모델이다. Javascript는 이 모델로 웹 페이지에 접근, 수정할 수 있다.
Javascript는 document라는 전역객체를 통해 HTML에 접근할 수 있다.
const example = document.querySelector('.navbar');
let blueElement = document.querySelector('.blue');
blueElement.style.backgroundColor = 'blue';
.createElement('')
appendChild
Q ) index.js에 아래의 내용을 구현해주세요.
p
태그를 생성하고 (hint: createElement
),className
)innerHTML
)h1
요소 내부에 추가 (hint: appendChild
)function addPtag(){
const h1 = document.getElementsByTagName('h1')[0];
console.log('h1 : ' + h1);
let p = document.createElement('p');
p.className = 'dom';
p.innerText = "DOM";
h1.appendChild(p);
}
addPtag();
getElementsByTagName('h1')[0]
- 뒤에 인덱싱을 해줘야 하는 이유가 뭘까?
getElementsByTagName('h1')
을 콘솔로 찍어보면 배열형식과 같은(유사배열, length, indexing 가능하지만 foreach같은 구문은 사용할 수 없다.) HTMLCollection object
가 출력된다.
이 Object는 모든 h1 태그를 가져온다고 이해하면 되는데, 그 중에서 내가 사용할 부분을 indexing 하여 사용하면 된다!