inf 6 dom
DOM
demo3.html
-
DOM 소개, DOM 트리
-
JavaScript variable / function
-
JavaScript HTML element 제어
DOM ?
DOM(Doucumnet Object Model)은
HTML, XML문서를 다루는 programming interface
-
문서의 구조화된 표현을 제공,
programming언어가 DOM구조에 접근할 수 있는 방법을 제공
구조 스타일 내용 등을 변경할 수 있도록 도움 -
“노드(tag)” / “property(속성)” / “기능(JS function method)”
을 가진 object로 문서를 표현함
이들은 WEBpage를 script또는 proragmming언어들에서 사용할 수 있게 연결시킴 -
WEBpage는 수정가능한 문서
이 문서는 WEB browser를 통해 그 내용을 해석해
WEB browser화면에 나타내거나 HTML source자체로 나타나기도 함 -
WEBpage 문서를 표현하고, 저장하고, 조작하는 방법을 제공
우리는 JS같은 scripting language로 DOM을 수정하기도 함
DOM tree
-
위에서 아래로 노드가 쌓임
document / \ head body / \ div div / p / Hello world!
Javascript
-
WEBpage를 위한 programming언어
-
DOM기능을 사용해서 HTML을
우리 주변의 WEBservice가 application으로 이용할 수 있게 도움
Variable
-
programming에서 variable / scalar는 아직 알려지지 않거나 어느 정도까지만 알려져 있는 양이나 정보에 대한 상징적 이름
-
말 그대로 ‘변하는 수’, 정보를 담는 ‘상자’로 비유함 이름이 적힌 상자를찾으면 그 내용물을 볼 수 있음
-
수학에서 x, y, z등의 변수를 다루는 것 과 거의 동일 함
-
var
let
const
등으로 선언하는 것을 권장x = 10; console.log(x); //: 10 x = 20; //재할당 y = 10; console.log(x + y); //: 30 let x = 20;
Function
-
특정 작업을 수행하기 위한 코드의 집합으로 코드를 재사용하기 위해 쓰는 기능
-
수학에서 f(a,b)=a+b 같이 argument를 활용하는 것처럼 JS의 function에도 argument를 집어 넣을 수 있음
function 이름() { 실행할 code; } 이름(); //function 호출 function 더하기(a,b){ return a+b; } 더하기(10,10); //: 20
JavsScript와 DOM
-
JavaScript + DOM = DOM API (WEB / XMLpage)
page contents는 DOM에 저장되고 JS를 통해 접근하거나 조작할 수 있음 -
초기에는 JS와 DOM이 밀접하게 연관되어 있었지만
점점 분리되어 발전함
JS와 DOM의 조합
모든 div element에 대한 list를 return하는 method
.getElementByID(tag name)로 JS와 DOM에 대해 알아보기
-
document
WEBpage의 document object -
document.querySelector
해당 selector를 가진 element -
property nodeName
element의 node이름(tag이름)을 반황하는 속성
var element = document.querySelector("head");
condole.log(element.nodeName);
//: head
script를 사용할 때 inline-script를 사용하거나
WEBpage안에있는 script loading명령을 사용
또는 문서자체를 조작하거나 문서의 children을 얻기위해
document 또는 window element를 위한 API를 즉시 사용할 수 있음
-
문서가 load될때 DOM을 사용할 수 있게되면 실행하는 함수지정
새로운 h1 element를 생성하고
해당 element에 text를 추가하며
h1을 이 문서의 tree에 추가하는 함수window.onload = function () { var heading = document.createElement("h1"); heading.innerText = "hello, World"; document.body.appendChild(heading); }; //: Hello, world
-
document.querySelector
selector의 정보를 통해 element를 집어내는 JS function -
document.createElement
JS로 HTML element를 만드는 function -
document.body.appendChild
body라는 markup element 내부에 새로운 element를 넣는 function
-
복습하다보니
학생들이 프로젝트로 만든 수업이라
정리가 잘 안되어있고 본인의 정리능력도 비루해서
더욱 내용이 중구난방인 것 같은 느낌
나중에 따로 정리를 해볼 것