SlideShare a Scribd company logo
1 of 12
For non-developers!
Learn Javascript Programming!
!
Learning contents with!
DOM (Document Object Model)!
CSS Selector & DOM API!
!
!
!
!
Kim min tae @ibare!
NCSOFT http://ibare.kr https://medium.com/@ibare
#4.1
브라우저가 HTML을 다루는 방법!
잠깐! 브라우저가 뭔가요?!
조금 개발자스러운 답변을 원합니다.
브라우저란 HTML 문서를 읽고 해석한 후 !
해석한 결과를 바탕으로 스타일을 적용하고!
그 결과를 사용자에게 표시해주는 소프트웨어.!


*문서 해석과 스타일 적용은 문서의 내용이 변경될 때 마다!
반복적으로 일어나며 이 변경은 Javascript에 의해 !
빈번하게 발생할 수 있다.
브라우저가 HTML을 다루는 방법!
읽기 결과 적용 표시
javascript
image
css
my.html DOM
1 2 3 4
DOM에 변화가 생기면 2~4 구간이 반복
읽고 분석한 결과를!
DOM 형태로 재구성
스타일 (CSS) 적용 화면에 최종 표시!
(랜더링)
변경
브라우저가 HTML을 다루는 방법!
CSS 적용전 CSS 적용 Javascript 작동
브라우저가 HTML을 다루는 방법! !
DOM, 돔, Document Object Model 이란?
HTML 문서의 요소를 효과적으로!
다루기(찾기, 추가, 삭제, 수정)위하여 모든 요소를!
분리하고 상하관계를 설정한 후 배치한 구조
프로그래머들은 이런 구조를!
나무(Tree) 구조라 부른다.
브라우저가 HTML을 다루는 방법! !
DOM, 돔, Document Object Model 이란?
html
head body
title
text
h1
text
p
text a
text하나의 뿌리에서 가지를!
뻗는 나무와 비슷하다하여!
나무(Tree) 구조라고 부른다
document
DOM을 다루기 위해 제공되는 주요 기능들
document.getElementById
!
document.getElementsByName
!
document.getElementsByTagName
!
document.getElementsByClassName
!
document.querySelectorAll
지정한 ID를 가진 요소 찾기
지정한 이름을 가진 요소들 찾기
지정한 태그 이름을 가진 요소들 찾기
지정한 클래스 이름을 가진 요소들 찾기
지정한 CSS 셀렉터로 찾아지는 요소들 찾기
DOM을 다루기 위해 제공되는 기능 사용 예
html
head body
title
text
h1
text
p
text a
text
document
var eles = document.getElementsByTagName(‘h1’);
var eles = document.getElementsByTagName(‘a’);
*
CSS Selector 란?
CSS는 HTML의 요소에 스타일을 적용하기!
위한 목적으로 만들어 졌으며, CSS Selector는!
스타일이 적용될 대상을 결정하기 위해 제공된다.
CSS 선택자 (Selector)
선택된 대상들에 적용될 스타일
CSS Selector 란?!
DOM API vs. CSS Selector
html
head body
title
text
h1
text
p
text a
text
document
var eles = document.getElementsByTagName(‘h1’);
var eles = document.getElementsByTagName(‘a’);
*
h1 { … }
a { … }
CSS Selector 란?!
DOM API vs. CSS Selector
DOM API와 CSS Selector 모두 DOM 요소를!
탐색할 수 있으나 사용 목적은 완전히 다름!
!
DOM API는 DOM 요소의 추가, 수정, 삭제와!
같은 광범위한 목적을 가지고 있으며,!
!
CSS Selector는 스타일을 적용할 대상을!
선택하기 위해서만 제공된다.
1 “다음시간에”;!
2 “잘자요~~;
Unclosed string.

More Related Content

What's hot

[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTMLJae Woo Woo
 
Java script 신입교육
Java script 신입교육Java script 신입교육
Java script 신입교육준성 황
 
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문종훈 박
 
[D2 campus]착 하면 척! chak 서비스 개발기
[D2 campus]착 하면 척! chak 서비스 개발기[D2 campus]착 하면 척! chak 서비스 개발기
[D2 campus]착 하면 척! chak 서비스 개발기NAVER D2
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 jeong seok yang
 
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP FrameworkInseok Lee
 
Polymer Codelab: Before diving into polymer
Polymer Codelab: Before diving into polymerPolymer Codelab: Before diving into polymer
Polymer Codelab: Before diving into polymerChang W. Doh
 
CSS3 천기누설
CSS3 천기누설CSS3 천기누설
CSS3 천기누설Toby Yun
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017devCAT Studio, NEXON
 
코드스쿼드 마스터즈세미나 - UI개발자가돼보자
코드스쿼드 마스터즈세미나 - UI개발자가돼보자코드스쿼드 마스터즈세미나 - UI개발자가돼보자
코드스쿼드 마스터즈세미나 - UI개발자가돼보자지수 윤
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정Kenu, GwangNam Heo
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
웹퍼블리싱강의
웹퍼블리싱강의웹퍼블리싱강의
웹퍼블리싱강의재은 박
 
웹브라우저는 어떻게 동작하나?
웹브라우저는 어떻게 동작하나?웹브라우저는 어떻게 동작하나?
웹브라우저는 어떻게 동작하나?Joone Hur
 
웹 본격적으로 배우기 전 감 잡기 - 1
웹 본격적으로 배우기 전 감 잡기 - 1웹 본격적으로 배우기 전 감 잡기 - 1
웹 본격적으로 배우기 전 감 잡기 - 1mangonamu
 
AWS 구축 경험 공유
AWS 구축 경험 공유AWS 구축 경험 공유
AWS 구축 경험 공유민태 김
 
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께지수 윤
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web AnimationsChang W. Doh
 
CSS3 Top10
CSS3 Top10CSS3 Top10
CSS3 Top10Toby Yun
 

What's hot (20)

[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML
 
Java script 신입교육
Java script 신입교육Java script 신입교육
Java script 신입교육
 
Mean stack Start
Mean stack StartMean stack Start
Mean stack Start
 
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
 
[D2 campus]착 하면 척! chak 서비스 개발기
[D2 campus]착 하면 척! chak 서비스 개발기[D2 campus]착 하면 척! chak 서비스 개발기
[D2 campus]착 하면 척! chak 서비스 개발기
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트
 
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
 
Polymer Codelab: Before diving into polymer
Polymer Codelab: Before diving into polymerPolymer Codelab: Before diving into polymer
Polymer Codelab: Before diving into polymer
 
CSS3 천기누설
CSS3 천기누설CSS3 천기누설
CSS3 천기누설
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
 
코드스쿼드 마스터즈세미나 - UI개발자가돼보자
코드스쿼드 마스터즈세미나 - UI개발자가돼보자코드스쿼드 마스터즈세미나 - UI개발자가돼보자
코드스쿼드 마스터즈세미나 - UI개발자가돼보자
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
웹퍼블리싱강의
웹퍼블리싱강의웹퍼블리싱강의
웹퍼블리싱강의
 
웹브라우저는 어떻게 동작하나?
웹브라우저는 어떻게 동작하나?웹브라우저는 어떻게 동작하나?
웹브라우저는 어떻게 동작하나?
 
웹 본격적으로 배우기 전 감 잡기 - 1
웹 본격적으로 배우기 전 감 잡기 - 1웹 본격적으로 배우기 전 감 잡기 - 1
웹 본격적으로 배우기 전 감 잡기 - 1
 
AWS 구축 경험 공유
AWS 구축 경험 공유AWS 구축 경험 공유
AWS 구축 경험 공유
 
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations
 
CSS3 Top10
CSS3 Top10CSS3 Top10
CSS3 Top10
 

Similar to 비개발자를 위한 Javascript 알아가기 #4.1

웹표준의 이해
웹표준의 이해웹표준의 이해
웹표준의 이해Leehooan
 
HTML5 스펙 소개
HTML5 스펙 소개HTML5 스펙 소개
HTML5 스펙 소개Toby Yun
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차Michael Yang
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차Michael Yang
 
Developer`s Web Standard
Developer`s Web StandardDeveloper`s Web Standard
Developer`s Web StandardSangHoon Han
 
과정 커리큘럼
과정 커리큘럼과정 커리큘럼
과정 커리큘럼John Seo
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차Michael Yang
 
20170202 D2 발표
20170202 D2 발표20170202 D2 발표
20170202 D2 발표Suhjin Park
 
Doxygen 사용법
Doxygen 사용법Doxygen 사용법
Doxygen 사용법YoungSu Son
 
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까Seonbae Kim
 
HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기Suan Lee
 
WebStandards-Basic 1.Introduce
WebStandards-Basic 1.IntroduceWebStandards-Basic 1.Introduce
WebStandards-Basic 1.IntroduceEulsoo Jung
 
처음부터 다시 배우는 HTML5 & CSS3 1일차
처음부터 다시 배우는 HTML5 & CSS3 1일차처음부터 다시 배우는 HTML5 & CSS3 1일차
처음부터 다시 배우는 HTML5 & CSS3 1일차Michael Yang
 
3.web의역사와browser
3.web의역사와browser3.web의역사와browser
3.web의역사와browsercheonsu park
 
Web Standards Seminar 2006
Web Standards Seminar 2006Web Standards Seminar 2006
Web Standards Seminar 2006Taeyoung Yoon
 
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdfSangHoon Han
 

Similar to 비개발자를 위한 Javascript 알아가기 #4.1 (20)

웹표준의 이해
웹표준의 이해웹표준의 이해
웹표준의 이해
 
HTML5 스펙 소개
HTML5 스펙 소개HTML5 스펙 소개
HTML5 스펙 소개
 
Prepo
PrepoPrepo
Prepo
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
 
Developer`s Web Standard
Developer`s Web StandardDeveloper`s Web Standard
Developer`s Web Standard
 
과정 커리큘럼
과정 커리큘럼과정 커리큘럼
과정 커리큘럼
 
2-2. html5
2-2. html52-2. html5
2-2. html5
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
 
웹표준 교육
웹표준 교육웹표준 교육
웹표준 교육
 
Deview2013 track1 session7
Deview2013 track1 session7Deview2013 track1 session7
Deview2013 track1 session7
 
20170202 D2 발표
20170202 D2 발표20170202 D2 발표
20170202 D2 발표
 
Doxygen 사용법
Doxygen 사용법Doxygen 사용법
Doxygen 사용법
 
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까
 
HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기
 
WebStandards-Basic 1.Introduce
WebStandards-Basic 1.IntroduceWebStandards-Basic 1.Introduce
WebStandards-Basic 1.Introduce
 
처음부터 다시 배우는 HTML5 & CSS3 1일차
처음부터 다시 배우는 HTML5 & CSS3 1일차처음부터 다시 배우는 HTML5 & CSS3 1일차
처음부터 다시 배우는 HTML5 & CSS3 1일차
 
3.web의역사와browser
3.web의역사와browser3.web의역사와browser
3.web의역사와browser
 
Web Standards Seminar 2006
Web Standards Seminar 2006Web Standards Seminar 2006
Web Standards Seminar 2006
 
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
나는 웹 크리에이터다! 그리고... 최근 웹 핫이슈!.pdf
 

More from 민태 김

웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스민태 김
 
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)민태 김
 
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library민태 김
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git민태 김
 
외계어 스터디 3/5 function and object
외계어 스터디 3/5   function and object외계어 스터디 3/5   function and object
외계어 스터디 3/5 function and object민태 김
 
외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements민태 김
 
외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview민태 김
 
비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1민태 김
 
비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7민태 김
 
비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1민태 김
 
비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6민태 김
 
비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1민태 김
 
비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5민태 김
 
비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4민태 김
 
비개발자를 위한 Javascript 알아가기 #3
비개발자를 위한 Javascript 알아가기 #3비개발자를 위한 Javascript 알아가기 #3
비개발자를 위한 Javascript 알아가기 #3민태 김
 
비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1민태 김
 
Waterfall과 agile의 불편한 동거 public
Waterfall과 agile의 불편한 동거 publicWaterfall과 agile의 불편한 동거 public
Waterfall과 agile의 불편한 동거 public민태 김
 
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍민태 김
 
Knockout.js Overview
Knockout.js OverviewKnockout.js Overview
Knockout.js Overview민태 김
 

More from 민태 김 (20)

Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
 
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
 
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
 
외계어 스터디 3/5 function and object
외계어 스터디 3/5   function and object외계어 스터디 3/5   function and object
외계어 스터디 3/5 function and object
 
외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements
 
외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview
 
비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1
 
비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7
 
비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1
 
비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6
 
비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1
 
비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5
 
비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4
 
비개발자를 위한 Javascript 알아가기 #3
비개발자를 위한 Javascript 알아가기 #3비개발자를 위한 Javascript 알아가기 #3
비개발자를 위한 Javascript 알아가기 #3
 
비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1
 
Waterfall과 agile의 불편한 동거 public
Waterfall과 agile의 불편한 동거 publicWaterfall과 agile의 불편한 동거 public
Waterfall과 agile의 불편한 동거 public
 
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
 
Knockout.js Overview
Knockout.js OverviewKnockout.js Overview
Knockout.js Overview
 

비개발자를 위한 Javascript 알아가기 #4.1

  • 1. For non-developers! Learn Javascript Programming! ! Learning contents with! DOM (Document Object Model)! CSS Selector & DOM API! ! ! ! ! Kim min tae @ibare! NCSOFT http://ibare.kr https://medium.com/@ibare #4.1
  • 2. 브라우저가 HTML을 다루는 방법! 잠깐! 브라우저가 뭔가요?! 조금 개발자스러운 답변을 원합니다. 브라우저란 HTML 문서를 읽고 해석한 후 ! 해석한 결과를 바탕으로 스타일을 적용하고! 그 결과를 사용자에게 표시해주는 소프트웨어.! 
 *문서 해석과 스타일 적용은 문서의 내용이 변경될 때 마다! 반복적으로 일어나며 이 변경은 Javascript에 의해 ! 빈번하게 발생할 수 있다.
  • 3. 브라우저가 HTML을 다루는 방법! 읽기 결과 적용 표시 javascript image css my.html DOM 1 2 3 4 DOM에 변화가 생기면 2~4 구간이 반복 읽고 분석한 결과를! DOM 형태로 재구성 스타일 (CSS) 적용 화면에 최종 표시! (랜더링) 변경
  • 4. 브라우저가 HTML을 다루는 방법! CSS 적용전 CSS 적용 Javascript 작동
  • 5. 브라우저가 HTML을 다루는 방법! ! DOM, 돔, Document Object Model 이란? HTML 문서의 요소를 효과적으로! 다루기(찾기, 추가, 삭제, 수정)위하여 모든 요소를! 분리하고 상하관계를 설정한 후 배치한 구조 프로그래머들은 이런 구조를! 나무(Tree) 구조라 부른다.
  • 6. 브라우저가 HTML을 다루는 방법! ! DOM, 돔, Document Object Model 이란? html head body title text h1 text p text a text하나의 뿌리에서 가지를! 뻗는 나무와 비슷하다하여! 나무(Tree) 구조라고 부른다 document
  • 7. DOM을 다루기 위해 제공되는 주요 기능들 document.getElementById ! document.getElementsByName ! document.getElementsByTagName ! document.getElementsByClassName ! document.querySelectorAll 지정한 ID를 가진 요소 찾기 지정한 이름을 가진 요소들 찾기 지정한 태그 이름을 가진 요소들 찾기 지정한 클래스 이름을 가진 요소들 찾기 지정한 CSS 셀렉터로 찾아지는 요소들 찾기
  • 8. DOM을 다루기 위해 제공되는 기능 사용 예 html head body title text h1 text p text a text document var eles = document.getElementsByTagName(‘h1’); var eles = document.getElementsByTagName(‘a’); *
  • 9. CSS Selector 란? CSS는 HTML의 요소에 스타일을 적용하기! 위한 목적으로 만들어 졌으며, CSS Selector는! 스타일이 적용될 대상을 결정하기 위해 제공된다. CSS 선택자 (Selector) 선택된 대상들에 적용될 스타일
  • 10. CSS Selector 란?! DOM API vs. CSS Selector html head body title text h1 text p text a text document var eles = document.getElementsByTagName(‘h1’); var eles = document.getElementsByTagName(‘a’); * h1 { … } a { … }
  • 11. CSS Selector 란?! DOM API vs. CSS Selector DOM API와 CSS Selector 모두 DOM 요소를! 탐색할 수 있으나 사용 목적은 완전히 다름! ! DOM API는 DOM 요소의 추가, 수정, 삭제와! 같은 광범위한 목적을 가지고 있으며,! ! CSS Selector는 스타일을 적용할 대상을! 선택하기 위해서만 제공된다.