SlideShare a Scribd company logo
HACOSA JS STUDY
#7 Creating MarkUp On The Fly
document.write
• 문서 내에 문자열을 추가하는 가장 빠르고 쉬운 방법
• HTML 문서에서 문제없이 동작은 하나, 좋은 방법은 아니
다.
 ‒ 문서 구조, 내용을 만들기 위해 document.write를 사용하는 것은 글
  꼴의 크기와 색상을 지정하기 위해 <font>를 사용하는 것과 마찬가
  지.
innerHTML
• IE4에서 처음 소개한 프로퍼티로 현재는 대부분의 웹 브라
  우저들이 지원
• DOM 표준안에는 포함되어 있지 않다.
DOM Method
• createElement
   ‒ 요소를 생성하는 메소드
   ‒ document.createElement(nodeName)
   ‒ 요소를 만들기만 할 뿐 문서에 추가하는 것은 아님


• appendChild
   ‒ 자식 노드를 추가하는 메소드
   ‒ var para = document.createElement(“p”);
     testDiv.appendChild(para);
DOM Method
• createTextNode
   ‒ 텍스트 노드 생성 메소드


 window.onload = function(){
   var para = document.createElement(“p”);
   var testDiv = document.getElementById(“testDiv”);
   testDiv.appendChild(para);
   var txt = document.createTextNode(“Hellow word”);
   para.appendChild(txt);
 }
DOM Method
• insertBefore
   ‒ 기존에 존재하는 요소 앞에 새 요소를 생성하는 메소드
   ‒ parentNode.insertBefore(newElement, targetElement)
    → newElement 를 targetElement 앞에 생성


  ‒ Gallery.parentNode.insertBefore(placeholder, gallery)
    → placeholder 객체를 gallery 객체 앞에 생성
    →Before :
      <body>
         <div id=“gallery”>~~~~</div>
      </body>

    →After :
      <body>
         <div id=“placeholder”></div>
         <div id=“gallery”>~~~~</div>
      </body>
DOM Method
• insertAfter
   ‒ 존재하지 않는 DOM Method
   ‒ 사용자 정의 메소드로 사용 가능
   function insertAfter(newElement, targetElement){
      var parent = targetElement.parentNode;
      if(parentNode.lastChild == targetElement){
          parent.appendChild(newElement);
      }else{
          parent.insertBefore(newElement, targetElement.nextSibling);
      }
   }

   →parentNode                     :             부모 노드
   →lastChild                      :             자식 노드 중 마지막 노드
   →nextSibling                    :             형제 노드 중 바로 다음에 위치하는 노드


 ‒ TestURL : http://mulder21c.woobi.co.kr/lab/hacosa5th
END

More Related Content

What's hot

02주차 ddl- db를 만들자
02주차 ddl- db를 만들자02주차 ddl- db를 만들자
02주차 ddl- db를 만들자
Yoonwhan Lee
 
MySQL과 PHP
MySQL과 PHPMySQL과 PHP
MySQL과 PHP
Yoonwhan Lee
 
추억의 자바스크립트
추억의 자바스크립트추억의 자바스크립트
추억의 자바스크립트
욱진 양
 
MySQL 기초
MySQL 기초MySQL 기초
MySQL 기초
Yoonwhan Lee
 
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
Ukjae Jeong
 
[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML
Jae Woo Woo
 

What's hot (7)

02주차 ddl- db를 만들자
02주차 ddl- db를 만들자02주차 ddl- db를 만들자
02주차 ddl- db를 만들자
 
MySQL과 PHP
MySQL과 PHPMySQL과 PHP
MySQL과 PHP
 
추억의 자바스크립트
추억의 자바스크립트추억의 자바스크립트
추억의 자바스크립트
 
MySQL 기초
MySQL 기초MySQL 기초
MySQL 기초
 
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
 
[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML
 
Class10
Class10Class10
Class10
 

Viewers also liked

Hacosa j query 11th
Hacosa j query 11thHacosa j query 11th
Hacosa j query 11th
Seong Bong Ji
 
Hacosa j query 6th
Hacosa j query 6thHacosa j query 6th
Hacosa j query 6th
Seong Bong Ji
 
Omerta
OmertaOmerta
Omertahafhs
 
Puzzles
PuzzlesPuzzles
Puzzleshafhs
 
Hacosa js study 6th
Hacosa js study 6thHacosa js study 6th
Hacosa js study 6th
Seong Bong Ji
 
Solutions
SolutionsSolutions
Solutionshafhs
 
Hacosa j query 10th
Hacosa j query 10thHacosa j query 10th
Hacosa j query 10th
Seong Bong Ji
 
Hacosa j query 8th
Hacosa j query 8thHacosa j query 8th
Hacosa j query 8th
Seong Bong Ji
 
Hacosa j query 4th
Hacosa j query 4thHacosa j query 4th
Hacosa j query 4th
Seong Bong Ji
 
Flash game
Flash gameFlash game
Flash gamehafhs
 
A city with lifebook
A city with lifebookA city with lifebook
A city with lifebookant-fujitsu
 
Bubble bobble
Bubble bobbleBubble bobble
Bubble bobble
hafhs
 
Requirements list v2
Requirements list v2Requirements list v2
Requirements list v2hafhs
 
Hacosa j query 3th
Hacosa j query 3thHacosa j query 3th
Hacosa j query 3th
Seong Bong Ji
 
Hacosa j query 7th
Hacosa j query 7thHacosa j query 7th
Hacosa j query 7th
Seong Bong Ji
 
Bubble bobble
Bubble bobbleBubble bobble
Bubble bobblehafhs
 
John o brien_presentation
John o brien_presentationJohn o brien_presentation
John o brien_presentationhafhs
 
Writer’s Portofolio - Pradana
Writer’s Portofolio - PradanaWriter’s Portofolio - Pradana
Writer’s Portofolio - PradanaDana F. Zumario
 
Презентація клініки ВІВА
Презентація клініки ВІВАПрезентація клініки ВІВА
Презентація клініки ВІВА
Leonid Etnis
 

Viewers also liked (20)

Hacosa j query 11th
Hacosa j query 11thHacosa j query 11th
Hacosa j query 11th
 
Hacosa j query 6th
Hacosa j query 6thHacosa j query 6th
Hacosa j query 6th
 
Omerta
OmertaOmerta
Omerta
 
Puzzles
PuzzlesPuzzles
Puzzles
 
Hacosa js study 6th
Hacosa js study 6thHacosa js study 6th
Hacosa js study 6th
 
Solutions
SolutionsSolutions
Solutions
 
Hacosa j query 10th
Hacosa j query 10thHacosa j query 10th
Hacosa j query 10th
 
Hacosa j query 8th
Hacosa j query 8thHacosa j query 8th
Hacosa j query 8th
 
Hacosa j query 4th
Hacosa j query 4thHacosa j query 4th
Hacosa j query 4th
 
Flash game
Flash gameFlash game
Flash game
 
Tp prezentztion-final
Tp prezentztion-finalTp prezentztion-final
Tp prezentztion-final
 
A city with lifebook
A city with lifebookA city with lifebook
A city with lifebook
 
Bubble bobble
Bubble bobbleBubble bobble
Bubble bobble
 
Requirements list v2
Requirements list v2Requirements list v2
Requirements list v2
 
Hacosa j query 3th
Hacosa j query 3thHacosa j query 3th
Hacosa j query 3th
 
Hacosa j query 7th
Hacosa j query 7thHacosa j query 7th
Hacosa j query 7th
 
Bubble bobble
Bubble bobbleBubble bobble
Bubble bobble
 
John o brien_presentation
John o brien_presentationJohn o brien_presentation
John o brien_presentation
 
Writer’s Portofolio - Pradana
Writer’s Portofolio - PradanaWriter’s Portofolio - Pradana
Writer’s Portofolio - Pradana
 
Презентація клініки ВІВА
Презентація клініки ВІВАПрезентація клініки ВІВА
Презентація клініки ВІВА
 

Similar to Hacosa js study 5th

Secrets of the JavaScript Ninja - Chapter 12. DOM modification
Secrets of the JavaScript Ninja - Chapter 12. DOM modificationSecrets of the JavaScript Ninja - Chapter 12. DOM modification
Secrets of the JavaScript Ninja - Chapter 12. DOM modification
Hyuncheol Jeon
 
Hacosa jquery 1th
Hacosa jquery 1thHacosa jquery 1th
Hacosa jquery 1th
Seong Bong Ji
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer
Jae Sung Park
 
Java script
Java scriptJava script
Java script
영남 허
 
퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다
정석 양
 
웹개발자가 알아야할 기술
웹개발자가 알아야할 기술웹개발자가 알아야할 기술
웹개발자가 알아야할 기술
jaypi Ko
 
3-2. selector api
3-2. selector api3-2. selector api
3-2. selector api
JinKyoungHeo
 
웹퍼블리싱강의
웹퍼블리싱강의웹퍼블리싱강의
웹퍼블리싱강의
재은 박
 
Django - CRUD 기능 구현
Django - CRUD 기능 구현Django - CRUD 기능 구현
Django - CRUD 기능 구현
Jessica Lee
 
Web Components - Part.I, @KIG 30th
Web Components - Part.I, @KIG 30thWeb Components - Part.I, @KIG 30th
Web Components - Part.I, @KIG 30th
Chang W. Doh
 
Polymer따라잡기
Polymer따라잡기Polymer따라잡기
Polymer따라잡기
Han Jung Hyun
 
Web Components & Polymer
Web Components & PolymerWeb Components & Polymer
Web Components & PolymerJae Sung Park
 

Similar to Hacosa js study 5th (13)

Secrets of the JavaScript Ninja - Chapter 12. DOM modification
Secrets of the JavaScript Ninja - Chapter 12. DOM modificationSecrets of the JavaScript Ninja - Chapter 12. DOM modification
Secrets of the JavaScript Ninja - Chapter 12. DOM modification
 
Hacosa jquery 1th
Hacosa jquery 1thHacosa jquery 1th
Hacosa jquery 1th
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer
 
Java script
Java scriptJava script
Java script
 
퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다
 
웹개발자가 알아야할 기술
웹개발자가 알아야할 기술웹개발자가 알아야할 기술
웹개발자가 알아야할 기술
 
3-2. selector api
3-2. selector api3-2. selector api
3-2. selector api
 
웹퍼블리싱강의
웹퍼블리싱강의웹퍼블리싱강의
웹퍼블리싱강의
 
Django - CRUD 기능 구현
Django - CRUD 기능 구현Django - CRUD 기능 구현
Django - CRUD 기능 구현
 
Web Components - Part.I, @KIG 30th
Web Components - Part.I, @KIG 30thWeb Components - Part.I, @KIG 30th
Web Components - Part.I, @KIG 30th
 
Polymer따라잡기
Polymer따라잡기Polymer따라잡기
Polymer따라잡기
 
Web Components & Polymer
Web Components & PolymerWeb Components & Polymer
Web Components & Polymer
 
Javascript 101
Javascript 101Javascript 101
Javascript 101
 

More from Seong Bong Ji

Hacosa j query 2th
Hacosa j query 2thHacosa j query 2th
Hacosa j query 2th
Seong Bong Ji
 
Hacosa js study 8th
Hacosa js study 8thHacosa js study 8th
Hacosa js study 8th
Seong Bong Ji
 
Hacosa js study 7th
Hacosa js study 7thHacosa js study 7th
Hacosa js study 7th
Seong Bong Ji
 
Hacosa js study 4주차
Hacosa js study 4주차Hacosa js study 4주차
Hacosa js study 4주차Seong Bong Ji
 
Hacosa js study 2주차
Hacosa js study 2주차Hacosa js study 2주차
Hacosa js study 2주차
Seong Bong Ji
 
Hacosa js study 1주차
Hacosa js study 1주차Hacosa js study 1주차
Hacosa js study 1주차
Seong Bong Ji
 

More from Seong Bong Ji (6)

Hacosa j query 2th
Hacosa j query 2thHacosa j query 2th
Hacosa j query 2th
 
Hacosa js study 8th
Hacosa js study 8thHacosa js study 8th
Hacosa js study 8th
 
Hacosa js study 7th
Hacosa js study 7thHacosa js study 7th
Hacosa js study 7th
 
Hacosa js study 4주차
Hacosa js study 4주차Hacosa js study 4주차
Hacosa js study 4주차
 
Hacosa js study 2주차
Hacosa js study 2주차Hacosa js study 2주차
Hacosa js study 2주차
 
Hacosa js study 1주차
Hacosa js study 1주차Hacosa js study 1주차
Hacosa js study 1주차
 

Hacosa js study 5th

  • 1. HACOSA JS STUDY #7 Creating MarkUp On The Fly
  • 2. document.write • 문서 내에 문자열을 추가하는 가장 빠르고 쉬운 방법 • HTML 문서에서 문제없이 동작은 하나, 좋은 방법은 아니 다. ‒ 문서 구조, 내용을 만들기 위해 document.write를 사용하는 것은 글 꼴의 크기와 색상을 지정하기 위해 <font>를 사용하는 것과 마찬가 지.
  • 3. innerHTML • IE4에서 처음 소개한 프로퍼티로 현재는 대부분의 웹 브라 우저들이 지원 • DOM 표준안에는 포함되어 있지 않다.
  • 4. DOM Method • createElement ‒ 요소를 생성하는 메소드 ‒ document.createElement(nodeName) ‒ 요소를 만들기만 할 뿐 문서에 추가하는 것은 아님 • appendChild ‒ 자식 노드를 추가하는 메소드 ‒ var para = document.createElement(“p”); testDiv.appendChild(para);
  • 5. DOM Method • createTextNode ‒ 텍스트 노드 생성 메소드 window.onload = function(){ var para = document.createElement(“p”); var testDiv = document.getElementById(“testDiv”); testDiv.appendChild(para); var txt = document.createTextNode(“Hellow word”); para.appendChild(txt); }
  • 6. DOM Method • insertBefore ‒ 기존에 존재하는 요소 앞에 새 요소를 생성하는 메소드 ‒ parentNode.insertBefore(newElement, targetElement) → newElement 를 targetElement 앞에 생성 ‒ Gallery.parentNode.insertBefore(placeholder, gallery) → placeholder 객체를 gallery 객체 앞에 생성 →Before : <body> <div id=“gallery”>~~~~</div> </body> →After : <body> <div id=“placeholder”></div> <div id=“gallery”>~~~~</div> </body>
  • 7. DOM Method • insertAfter ‒ 존재하지 않는 DOM Method ‒ 사용자 정의 메소드로 사용 가능 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if(parentNode.lastChild == targetElement){ parent.appendChild(newElement); }else{ parent.insertBefore(newElement, targetElement.nextSibling); } } →parentNode : 부모 노드 →lastChild : 자식 노드 중 마지막 노드 →nextSibling : 형제 노드 중 바로 다음에 위치하는 노드 ‒ TestURL : http://mulder21c.woobi.co.kr/lab/hacosa5th
  • 8. END