본문 바로가기
javascript

DOM(Document Object Model) 문서 객체 모델

by 신방동불주먹 2022. 11. 16.

<문서 객체 모델(DOM)>

  • XML이나 HTML 문서에 접근하기 위한 일종의 인터페이스
  • 문서 내의 모든 요소를 정의하고, 각각의 요소에 접근하는 방법을 제공
  • HTML 태그를 제어, 객체로 사용
  • <head> 에 사용할 때에는 항상 window.onload=function(){} 내부에 작성해야 한다
  • DOM은 태그를 제어하기 때문에 <body> 내부에 작성하는것을 선호

 

 <script>
        window.onload = function(){
           let hTag = document.getElementById("selector"); //객체 형식
           hTag.style.color = "red";
        }
</script>

 

 

<Document 객체>

웹페이지에 존제하는 HTML요소에 접근하고자 할 때는 window 객체의 document  프로퍼티를 통해 사용할 수 있다.

document.메소드

 

 

<Document 메소드>

 - DOM 요소의 선택

document.getElementsByTagName(태그이름) 인자로 전달된 태그명에 해당하는 객체들을 찾아서
그 리스트를 NodeList라는 유사 배열에 담아서 반환.
NodeList는 배열은 아니지만 length와 배열접근연산자를 사용해서 엘리먼트를 조회할 수 있다.
document.getElementById(아이디) 해당 아이디의 요소를 선택
document.getElementsByClassName(클래스이름) 해당 클래스에 속한 요소를 모두 선택
document.getElementsByName(name속성값) 해당 name 속성값을 가지는 요소를 모두 선택
document.querySelectorAll(선택자) CSS 선택자(아이디, 클래스, 속성, 속성값 등)를 이용하여 HTML 요소를 선택
document.(html 객체 집합) HTML DOM에서 제공하는 객체 집합(object collection)을 이용하여 HTML 요소를 선택 (title, domain, body, cookie 등등)

 

  • document.querySelectorAll(선택자)

클래스가 "odd"인 요소중 <li> 요소만 선택

var selectedItem = document.querySelectorAll("li.odd")

for(var i=0;i <selectiedItem.length;i++){
	selectedItem.item(i).style.color="red";
    }

 

  • id "food_1" 이 가리키는 li 태그
 let myList = document.getElementById("food_1").getElementsByTagName("li");

 

 

<DOM 요소 내용 변경>

 

  • innerHTML
var str=document.getElementById("text");
str.innerHTML = "이 내용으로 변경됨"

 

(대상태그의 몸통부분을 가져옴)

let pbody = document.getElementById("info").innerHTML;

 

  • HTML 요소의 속성이름 사용
var link = document.getElementById("link");
link.href="/javascript/intro";
link.innerHTML = "자바스크립트 수업 바로 가기";

 

 

<DOM 요소 스타일 변경>

  • style 
var str = document.getElementById("text");

function changeRedColor() {str.style.color="red";}
function changeBlackColor() {str.style.color="black";}

 

 

 

 - HTML 이벤트 핸들러 추가 (핸들러는 보통 함수를 정의)

document.getElementById(아이디).onclick = function(){ 실행할 코드

 

마우스 클릭 이벤트와 연결될 이벤트 핸들러 코드

 

 <button type="button" onclick="change()">p태그 배경색 넣기</button>

    <script>
            function change(){
                let pTag=document.getElementById("info");
                pTag.style.backgroundColor="pink";
            }
   </script>

 

 

 

'javascript' 카테고리의 다른 글

내장객체_문자열 객체  (0) 2022.11.15
즉시실행함수  (0) 2022.11.15
객체 생성자 함수_프로토타입(prototype)  (0) 2022.11.15
내장객체_날짜(Date()), 수학객체(Math())  (0) 2022.11.15
1114_함수정의  (0) 2022.11.15