일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 벌써보고싶어38기
- 시멘틱 웹#시멘틱 태그#로멘틱성공적
- wecode
- wecode#위코드
- 멘토님포함
- Github웹호스팅 #HTML#CSS
- wecode#위코드#너무어려워#멘토님감사합니다
- Today
- Total
lflov
Javascript 13. DOM 본문
오늘은 DOM 에 대해서 알아볼까요우~
DOM(document object model) 이란?
> 프로그래밍 언어에서 HTML문서의 정보들을 다룰 수 있게 해주는 프로그래밍 인터페이스다
> HTML과 javascript 사이에 중간 매개체 느낌이다!
우리가 작성한 코드. ------> html 마크업이 화면이그려질때 나오는 것들이 요소(element)를 연결해 준다
근데 이걸 웹 브라우저가 Document object로 변경하여서 나오는것이 DOM이다.
그리고 우리가 작성한 javascript 코드가 DOM객체를 조작하여 화면에 나타내게 해주는거다
위 내용을 이쁘게 말하면~? 두둥 탁!
> html로 작성된 화면 요소들을 웹 브라우저가 해석하고 프로그래밍 가능한 인터페이스로 제공하는 객체 모델을 의미한다.
- html태그로 작성된 요소들은 웹브라우저가 DOM 객체로 표현한다잉
- 모든 요소들은 속성,이벤트,프로퍼티의 구성을 가집니다잉
- html 코드는 DOM형태로 해석되어 CSS에 적용 / JAVA SCRipt와의 상호작용등이 이뤄진답니다!
- DOM은 HTML파일의 구조를 계층적으로 정리합니다 > html의 태그와 비슷한 느낌
html - head body 이런게 계층적으로 정리된다면
DOM(document)- <head> element <body> element 이렇게 계층적으로 정리된다
document : html 문서의 최상위 root객체이고, html 문서 전체를 대변한다
element : html document 하위의 화면 요소(html tag로 그려지는 요소들 등)들을 의미한다. dom에서는 계층적인 형태로 존재한다.
DOM 접근 함수
document.getElementById(elementId) : 요소의 id값(html의 id태그 속성)으로 요소를 가져올수있다
> css 의 아이디 선택자 #id 랑 비슷한느낌
document.getElementByTagName(name) : 요소의 태그 종류로 (html태그) 요소들을 가져옵니다 > 배열 형태,nodelist
document.getElementByClassName(classNAme) : 요소의 class값 (html의 class 속성)으로 요소들을 가져옵니다 > 배열형태, nodelist
QuerySelector 라는 것도 있는데,
document.querySelector(selector) : 선택자 문법으로 문서내의 선택한 요소중 첫번째 요소를 가져옵니다.
document.querySelectorAll(selector) : 선택자 문법으로 문서내의 선택한 요소들을 전부 가져온다.
위 3개의 접근함수와 queryselector 의 접근함수의 차이점은
3개의 접근함수는 document 객체 에서만 사용할수 있다!
queryselector는 document객체 element객체 둘다 사용할수있다!
DOM 객체 추가
- document.createElement(tagName) : 새로운 노드 객체를 생성한다!
> DOM은 계층적구조 (트리) 라고 하였는데 html에서 여러 태그들이 계층적인 트리구조로 존재하는데 이때 이 태그들을 노드라고 한다
> 위 명령어로 새로운 노드를 생성시 화면엔 나타나지 않는다 > 메모리에는 존재하는 상태 왜냐하면? 아직 어느 트리에 있는지 정하지 않으므로!
- (특정 element).appendChild(삽입할 DOM노드 객체) : 특정 DOM 객체 하위에 다른 DOM객체를 삽입합니다.
> 요 명령어로 위에 생성한 노드를 특정한 노드 하위에 넣을수있다.
'JavaScript' 카테고리의 다른 글
JavaScript 15. 클로져 (0) | 2022.08.19 |
---|---|
javascript 14. 이벤트 처리하기! (0) | 2022.08.16 |
Javascript 12. html에 js 적용하는법 (0) | 2022.08.16 |
Javascript 11. 블록/스코프 (0) | 2022.08.15 |
JavaScript 10. 함수 (0) | 2022.08.15 |