일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- JDBC
- JSP
- API
- 웹
- 프로그래밍
- Web API
- HTML
- CSS
- Servlet
- DBMS
- BOOSTER
- 부스트코스
- Spring
- 부스터
- setState
- State
- css layout
- react
- web
- JavaScript
- 웹 UI 애니메이션
- 웹 프로그래밍
- SQL
- DOM
- 비동기식
- Ajax
- 부스터코스
- props
- setTimeout
- 리액트
- Today
- Total
땅콩이 맛난고 먹이자
[부스트코스]{3. 웹 앱 개발: 예약서비스 1/4}(2. DOM API 활용 - FE)_1. DOM API 본문
[부스트코스]{3. 웹 앱 개발: 예약서비스 1/4}(2. DOM API 활용 - FE)_1. DOM API
pea_Nut 2020. 3. 9. 12:50DOM이란?
문서 객체 모델(The Document Object Model, 이하 DOM) 은 HTML, XML 문서의 프로그래밍 interface 이다. DOM은 문서의 구조화된 표현(structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕는다. DOM 은 구조화된 nodes와 property 와 method 를 갖고 있는 objects로 문서를 표현한다. 이들은 웹 페이지를 스크립트 또는 프로그래밍 언어들에서 사용될 수 있게 연결시켜주는 역할을 담당한다.
웹 페이지는 일종의 문서(document)다. 이 문서는 웹 브라우저를 통해 그 내용이 해석되어 웹 브라우저 화면에 나타나거나 HTML 소스 자체로 나타나기도 한다. 동일한 문서를 사용하여 이처럼 다른 형태로 나타날 수 있다는 점에 주목할 필요가 있다. DOM 은 동일한 문서를 표현하고, 저장하고, 조작하는 방법을 제공한다. DOM 은 웹 페이지의 객체 지향 표현이며, 자바스크립트와 같은 스크립팅 언어를 이용해 DOM 을 수정할 수 있다.
W3C DOM, WHATWG DOM 표준은 대부분의 브라우저에서 DOM 을 구현하는 기준이다. 많은 브라우저들이 표준 규약에서 제공하는 기능 외에도 추가적인 기능들을 제공하기 때문에 사용자가 작성한 문서들이 각기 다른 DOM 이 적용된 다양한 브라우저 환경에서 동작할 수 있다는 사실을 항상 인지하고 있어야 한다.
예를 들어, 표준 DOM 에서는 문서 안에서 모든 <P> elements 에 대한 list 를 리턴하는 getElementsByTagName method 를 정의하고 있다.
웹 페이지를 수정하거나 생성하는데 사용되는 모든 property, method, event 들은 objects 로 구성된다. 예를 들어 document object 는 document 자체를 의미하며, table object 는 HTML table 에 접근하기 위한 HTMLTableElement DOM 인터페이스를 구현한 것이다.
DOM API
API (web or XML page) = DOM + JS (scripting language)
DOM 은 프로그래밍 언어와 독립적으로 디자인되었다. 때문에 문서의 구조적인 표현은 단일 API 를 통해 이용가능하다.
#API란?
API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
1. DOM 조작하기 API
documet. 으로 사용할 수 있는 APIs: https://www.w3schools.com/jsref/dom_obj_document.asp
HTML DOM Document Objects
The HTML DOM Document Object The Document Object When an HTML document is loaded into a web browser, it becomes a document object. The document object is the root node of the HTML document. Document Object Properties and Methods The following properties an
www.w3schools.com
element. 으로 사용할 수 있는 APIs : https://www.w3schools.com/jsref/dom_obj_all.asp
HTML DOM Element Objects
The HTML DOM Element Object The Element Object In the HTML DOM, the Element object represents an HTML element, like P, DIV, A, TABLE, or any other HTML element. Properties and Methods The following properties and methods can be used on all HTML elements: P
www.w3schools.com
2. DOM 엘리먼트 오브젝트
유용한 DOM 엘리먼트 속성 | |
tagName | 엘리먼트의 태그명 반환 |
textContent | 노드의 텍스트 내용을 설정하거나 반환 |
nodeType | 노드의 노드 유형을 숫자로 반환 |
DOM 탐색 속성 | |
childNodes | 엘리먼트의 자식 노드의 노드 리스트 반환(텍스트 노드, 주석 노드 포함) |
firstChild | 엘리먼트의 첫 번째 자식 노드를 반환 |
firstElementChild | 첫 번째 자식 엘리먼트를 반환 |
parentElement | 엘리먼트의 부모 엘리먼트 반환 |
nextSibling | 동일한 노드 트리 레벨에서 다음 노드를 반환 |
nextElementSibling | 동일한 노드 트리 레벨에서 다음 엘리먼트 반환 |
DOM 조작 메소드 | |
removeChild() | 엘리먼트의 자식 노드 제거 |
appendChild() | 마지막 자식 노드로 자식 노드를 엘리먼트에 추가 |
insertBefore() | 기존 자식노드 앞에 새 자식 노드를 추가 |
cloneNode() | 노드를 복제 |
replaceChild() |
엘리먼트의 자식 노드 바꿈 |
closest() |
상위로 올라가면서 가장 가까운 엘리먼트를 반환 |
HTML을 문자열로 처리해주는 DOM 속성 / 메소드 | |
innerText | 지정된 노드와 모든 자손의 텍스트 내용을 설정하거나 반환 |
innerHTML | 지정된 엘리먼트의 내부 html을 설정하거나 반환 |
insertAdjacentHTML() | HTML로 텍스트를 지정된 위치에 삽입 |
=> MDN 사이트(https://developer.mozilla.org/ko/)에서 각 메소드의 예제를 확인할 수 있다.
#참고할 만한 자료 (개념 설명과 예제)
DOM | PoiemaWeb
브라우저는 웹 문서(HTML, XML, SVG)를 로드한 후, 파싱하여 DOM(문서 객체 모델. Document Object Model)을 생성한다. 파일로 만들어져 있는 웹 문서를 브라우저에 렌더링하기 위해서는 웹 문서를 브라우저가 이해할 수 있는 구조로 메모리에 올려야 한다. 브라우저의 렌더링 엔진은 웹 문서를 로드한 후, 파싱하여 웹 문서를 브라우저가 이해할 수 있는 구조로 구성하여 메모리에 적재하는데 이를 DOM이라 한다. 즉, 모든 요소와 요소의
poiemaweb.com
#참고 자료
https://developer.mozilla.org/ko/docs/Web/API/Document_Object_Model/%EC%86%8C%EA%B0%9C
DOM 소개
이 문서는 DOM에 대한 개념을 간략하게 소개하는 문서이다: DOM 이 무엇이며, 그것이 어떻게 HTML, XML 문서들을 위한 구조를 제공하는지, 어떻게 DOM 에 접근하는지, API 가 어떻게 사용되는지에 대한 참조 정보와 예제들을 제공한다.
developer.mozilla.org
https://ko.wikipedia.org/wiki/API
API - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. API는 응용 프로그램 이진 인터페이스(ABI)와는 구별한다. API는 소스 코드 기반인 반면 ABI는
ko.wikipedia.org
#부스트코스 강의
https://www.edwith.org/boostcourse-web/lecture/37422/
[LECTURE] 1) DOM Node조작하기 : edwith
들어가기 전에 DOM, 즉 HTML은 동적으로 다양하게 변경될 수 있습니다. DOM APIs에서는 다양한 메서드와 속성을 지원하고 있으니 이를 활용하는 방법을 배울 필요가 있습니... - 부스트코스
www.edwith.org
'edwith_부스트코스_웹 프로그래밍' 카테고리의 다른 글
[부스트코스]{3. 웹 앱 개발: 예약서비스 1/4}(3. Ajax - FE)_1. Ajax 응답 처리와 비동기 (0) | 2020.03.11 |
---|---|
[부스트코스]{3. 웹 앱 개발: 예약서비스 1/4}(2. DOM API 활용 - FE)_2. DOM API 연습하기 (0) | 2020.03.09 |
[부스트코스]{3. 웹 앱 개발: 예약서비스 1/4}(1. JavaScript - FE)_2. Object 객체 (0) | 2020.03.05 |
[부스트코스]{3. 웹 앱 개발: 예약서비스 1/4}(1. JavaScript - FE)_1. Array (0) | 2020.03.05 |
[부스트코스]{2. DB 연결 웹 앱}(11. WEB API - BE)_3. Web API 실습 (0) | 2020.03.04 |