SlideShare una empresa de Scribd logo
1 de 8
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

Más contenido relacionado

La actualidad más candente

02주차 ddl- db를 만들자
02주차 ddl- db를 만들자02주차 ddl- db를 만들자
02주차 ddl- db를 만들자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과 HTMLJae Woo Woo
 

La actualidad más candente (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
 

Destacado

Omerta
OmertaOmerta
Omertahafhs
 
Puzzles
PuzzlesPuzzles
Puzzleshafhs
 
Solutions
SolutionsSolutions
Solutionshafhs
 
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 bobblehafhs
 
Requirements list v2
Requirements list v2Requirements list v2
Requirements list v2hafhs
 
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
 

Destacado (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 a 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 modificationHyuncheol Jeon
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - PolymerJae Sung Park
 
퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다퍼블리셔, 프론트엔드개발을 시작하다
퍼블리셔, 프론트엔드개발을 시작하다정석 양
 
웹개발자가 알아야할 기술
웹개발자가 알아야할 기술웹개발자가 알아야할 기술
웹개발자가 알아야할 기술jaypi Ko
 
웹퍼블리싱강의
웹퍼블리싱강의웹퍼블리싱강의
웹퍼블리싱강의재은 박
 
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 30thChang W. Doh
 
Polymer따라잡기
Polymer따라잡기Polymer따라잡기
Polymer따라잡기Han Jung Hyun
 
Web Components & Polymer
Web Components & PolymerWeb Components & Polymer
Web Components & PolymerJae Sung Park
 

Similar a 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
 

Más de 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
 

Más de 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