4. 문서 객체 모델(DOM)
DOM: 자바스크립트를 이용하여 웹 문서에 접근하고 제어할 수 있도록 객체를 사용해 웹 문서를 체계적으로 정리하는 방법
DOM은 웹 문서를 하나의 객체로 정의한다
선택자 가져오는 방법
document.getElementsByClassName()
클래스 이름으로 element를 찾아서, 이 클래스 이름을 가지는 모든 element 목록을 리턴합니다.
document.getElementsByTagName()
위 코드는 해당 태그를 가지는 모든 element 목록을 찾아줍니다. 이 함수 역시, 다수의 element를 리턴하기 때문에 함수명에 복수형의 'elements'가 포함되어 있습니다.
document.getElementById()
파라미터로 찾으려는 id를 전달하여, 해당 element를 찾을 수 있습니다. id는 유일한 값이므로, 하나의 element만 리턴합니다.
document.querySelector()
#-id / .-class / 아무것도 없음-tag
파라미터로 입력받은 CSS 선택자로 찾은 여러개의 element 중 첫번째 element를 리턴합니다.
document.querySelectorAll()
CSS선택자(파라미터로 넘겨준)로 찾은 모든 element 목록을 리턴합니다.
querySelector()와 getElementById의 차이
<form id="userForm">
<input id="username" type="text" value="Guilherme" />
</form>
var username = document.getElementById("username");
var username = document.querySelector("#userForm #username");
더 구체적인 엘리먼트를 찾고싶을때 querySelector()나 querySelectorAll()을 사용하고 일반적으로는 getElementById 류를 쓴다
innerText 프로퍼티
텍스트 내용을 표시한다
innerHTML
HTML 태그까지 반영하여 표시한다
getAttribute() 메서드
속성에 접근할 때 사용한다
setAttribute() 메서드
접근한 속성값을 바꿀 때 사용한다
DOM요소에 이벤트 연결
document.querySelector("#cup").onclick = changepic;
function changepic () {
cup.src = "images/cup-2.png";
}
addEventListener()메서드
보통 한 요소에 하나의 이벤트만 연결할 수 있었지만 이걸 사용하면 여러 이벤트를 연결할 수 있다
요소.addEventListener(이벤트, 함수, 캡처 여부);
document.getElementById("cover").addEventListener("mouseover",changepic,false);
document.getElementById("cover").addEventListener("mouseout",originpic,false);
function changePic() {
cover.src = "images/easys-2.jpg";
}
function originPic() {
cover.src = "images/easys-1.jpg";
}
CSS 속성에 접근할때
HTML요소 다음에 style을 쓰고 속성을 쓴다
document.querySeletor("#rect").style.backgroundColor = "green";
document.querySeletor("#rect").style.borderRadius = "50%";
'FrontEnd' 카테고리의 다른 글
Vue.js (1) (0) | 2023.11.12 |
---|---|
React JS (1) | 2023.11.12 |
Vanila.js (1) (0) | 2023.11.12 |
WebStorage (1) | 2023.11.12 |
HTML 태그 정리 (0) | 2023.11.12 |