SlideShare a Scribd company logo
1 of 15
HACOSA JS STUDY
#8 ENHANCING CONTENT
하면 안되는 것
• 문서 내에 중요한 내용을 추가하기 위한 DOM 사용
  ‒ 단계적 기능 축소의 혜택을 제공할 수 있는 여지가 없음
  ‒ 자바스크립트를 지원하지 않는 브라우저 사용자는 해당 내용을 볼
    수 없게 됨
  ‒ 처음 문서 구조를 만들 때 주의를 기울여야…
축약어 목록 표시 p.203
•   <html>
       <head>
           <meta http-equiv=“content-type” content=“text/html;charset=utf-8” />
           <title>문서 객체 모델</title>
       </head>
       <body>
           <h1>문서 객체 모델(Document Object Model)이란 무엇인가?</h1>
           <p>
               <abbr title=“World Wide Web Consortium”>W3c</abbr>는
               <abbr title=“Document Object Model”>DOM</abbr>을 다음과 같이 정의 한다.
           </p>
           <blockquote cite=http://www.w3c.org/DOM>
               <p>
                  특정 문서에 대한 내용과 구조, 외양을 동적으로 접근해 변경할 수 있도록 스크립트나 프로그램이 이용
                  가능한 플랫폼과 언어 중립적인 인터페이스
               </p>
           </blockquote>
           <p>
               즉 <abbr title=“HyperText Markup Language”>HTML</abbr>이나 <abbr title=“eXtensible Markup Language”
               >XML</abbr> 문서를 다루는데 사용하는 <abbr title=“Application Programming Interface”>API</abbr>라고
              할 수 있다.
           </p>
       </body>
    </html>
    의 title 속성만 모아 본 정의 목록 만들기
축약어 목록 표시 p.203
• DOM을 사용하여 자동으로 목록 만들기
  1. 문서 내에 abbr 요소를 반복문을 통해 찾는다.
  2. 각 abbr 요소의 title 속성을 저장한다.
  3. 각 abbr 요소의 값을 저장한다.
  4. 정의 목록을 만든다.
  5. 저장한 title 속성 및 abbr 요소 값을 반복문을 통해 구한다.
  6. 정의 제목 요소를 만든다.
  7. abbr 요소 값을 정의 제목에 넣는다.
  8. 정의 설명 요소를 만든다.
  9. title 속성 값을 정의 설명에 넣는다.
  10. 각 정의 제목을 정의 목록에 추가한다.
  11. 각 정의 설명을 정의 목록에 추가한다.
  12. 마지막으로 정의 목록을 문서 body에 추가한다.
축약어 목록 표시 p.203
• 함수 만들기
  1. 함수 이름 정의
      → function displayAbbrviations()
 2.     1. 문서내 abbr 요소를 반복문 통해 찾기
      → var abbreviations = document.getElementsByTagName(“abbr”);
        for(var i = 0; i < abbreviations.length; i++){

        }
 3.     2. 각 abbr 요소의 title 속성을 저장한다.
        3. 각 abbr 요소의 값을 저장한다.
      → var defs = new Array();
        var abbreviations = document.getElementsByTagName(“abbr”);
        for(var i = 0; i < abbreviations.length; i++){
          var definition = abbreviations[i].getAttribute(“title”);
          var key = abbreviations [i].lastChild.nodeValue;
          defs[key] = definition;
        }
축약어 목록 표시 p.203
4.     4. 정의 목록을 만든다.
     → var dlist = document.createElement(“dl”);

5.     5. 저장한 title 속성 및 abbr 요소 값을 반복문을 통해 구한다
     → for (key in defs){
           var definition = defs[key];
           var dtitel_text = document.createTextNode(key);
       }
6. 6. 정의 제목 요소를 만든다.
     7. abbr 요소 값을 정의 제목에 넣는다.
     → for (key in defs){
           var definition = defs[key];
           var dtitle = document.createElement(“dt”);
           var dtitle_text = document.createTextNode(key);
           dtitle.appendChild(dtitle_text);
       }
축약어 목록 표시 p.203
7.       8. 정의 설명 요소를 만든다.
         9. title 속성 값을 정의 설명에 넣는다.
         → for (key in defs){
               var definition = defs[key];
               var dtitle = document.createElement(“dt”);
               var dtitle_text = document.createTextNode(key);
               dtitle.appendChild(dtitle_text);
               var ddesc = document.createElement(“dd”);
               var ddesc_text = document.createTextNode(difinition);
               ddesc.appendChild(ddesc_text);
           }
8.       10. 각 정의 제목을 정의 목록에 추가한다.
         11. 각 정의 설명을 정의 목록에 추가한다.
     →     for (key in defs){
             :
             dlist.appendChild(dtitle);
             dlist.appendChild(ddesc);
           }
축약어 목록 표시 p.203
12. 마지막으로 정의 목록을 문서 body에 추가한다.
 →   document.body.appendChild(dlist);
인용구 출처 표시 p.219
•   <html>
       <head>
          <meta http-equiv=“content-type” content=“text/html;charset=utf-8” />
          <title>문서 객체 모델</title>
       </head>
       <body>
          <h1>문서 객체 모델(Document Object Model)이란 무엇인가?</h1>
          <p>
              <abbr title=“World Wide Web Consortium”>W3c</abbr>는
              <abbr title=“Document Object Model”>DOM</abbr>을 다음과 같이 정의 한다.
          </p>
          <blockquote cite=http://www.w3c.org/DOM>
              <p>
                 특정 문서에 대한 내용과 구조, 외양을 동적으로 접근해 변경할 수 있도록 스크립트나 프로그램이 이용
                 가능한 플랫폼과 언어 중립적인 인터페이스
              </p>
          </blockquote>
          <p>
              즉 <abbr title=“HyperText Markup Language”>HTML</abbr>이나 <abbr title=“eXtensible Markup Language”
              >XML</abbr> 문서를 다루는데 사용하는 <abbr title=“Application Programming Interface”>API</abbr>라고
             할 수 있다.
          </p>
       </body>
    </html>
    의 인용(blockquote) 의 cite 속성을 표기
인용구 출처 표시 p.219
• DOM을 사용하여 인용 출처 표시
  1. 문서 내 모든 blockquote 요소를 찾아낸다.
  2. Blockquote 요소로부터 cite 속성을 얻어낸다.
  3. “출처”라는 텍스트 요소를 링크 요소에 추가한다.
  4. Cite 속성 값을 이 링크에 추가한다.
  5. 인용구 마지막에 이 링크를 추가한다.
인용구 출처 표시 p.219
• 함수 만들기
  1. 함수 이름 정의
      → function displayCitations()

 2.     1. 문서 내 모든 blockquote 요소를 찾아낸다.
      → var quotes = document.getElementsByTagName(“blockquote”);
        for(var i = 0; i < quotes .length; i++){

        }
 3.     2. Blockquote 요소로부터 cite 속성을 얻어낸다.
      → var quotes = document.getElementsByTagName(“blockquote”);
        for(var i = 0; i < quotes .length; i++){
          if(!quotes[i].gettAttribute(“cite”) continue;
          var url = quotes[i].getAttribute(“cite”);
        }
인용구 출처 표시 p.219
• 함수 만들기
  4. 3. “출처”라는 텍스트 요소를 링크 요소에 추가한다.
      → var quoteChildren = quote[i].getElementsByTagName(“*”);
        var elem = quoteChildren[quoteChildren.length – 1];
        var link = document.createElement(“a”);
        var link_text = document.createTextNode(“출처”);
        link.appendChild(link_text);


 5.     4. Cite 속성 값을 이 링크에 추가한다.
      →link.setAttribute(“href”, url);


 6.     5. 인용구 마지막에 이 링크를 추가한다.
      →var superscript = document.createElement(“sup”);
        superscript.appendChild(link);
        elem.appendChild(superscript);
접근키 표시
• 윈도우 웹브라우저 : ALT + 접근키
 맥 웹브라우저 : COMMAND + 접근키

• <a href=“index.html” accesskey=“1”>첫화면</a>


• 브라우저에서 제공하는 단축키와 충돌할 가능성이 있음
접근키 목록 만들기
1. 문서 내 모든 링크의 노드셋을 가져온다.
2. 이들 링크를 반복한다.
3. 링크에 accesskey 속성이 있으면 값을 저장한다.
4. 링크 텍스트도 저장한다.
5. 목록을 새로 만든다
6. 각 링크의 접근키를 목록 항목으로 만든다.
7. 각 목록 항목을 목록에 추가한다.
8. 목록을 문서에 추가한다.
END

More Related Content

What's hot

더 나은 웹표준을 위한 Web Components
더 나은 웹표준을 위한 Web Components더 나은 웹표준을 위한 Web Components
더 나은 웹표준을 위한 Web Components정호 전
 
3.web의역사와browser
3.web의역사와browser3.web의역사와browser
3.web의역사와browsercheonsu park
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery정석 양
 
업무자동화를 위한 파이썬
업무자동화를 위한 파이썬업무자동화를 위한 파이썬
업무자동화를 위한 파이썬성주 이
 
안드로이드스터디 5
안드로이드스터디 5안드로이드스터디 5
안드로이드스터디 5jangpd007
 
Clearboth Study 14th
Clearboth Study 14thClearboth Study 14th
Clearboth Study 14thJiho Choo
 
Django study part9
Django study part9Django study part9
Django study part9Seokgeun Kim
 

What's hot (10)

더 나은 웹표준을 위한 Web Components
더 나은 웹표준을 위한 Web Components더 나은 웹표준을 위한 Web Components
더 나은 웹표준을 위한 Web Components
 
Cp2 w5
Cp2 w5Cp2 w5
Cp2 w5
 
3.web의역사와browser
3.web의역사와browser3.web의역사와browser
3.web의역사와browser
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery
 
Django View Part 1
Django View Part 1Django View Part 1
Django View Part 1
 
업무자동화를 위한 파이썬
업무자동화를 위한 파이썬업무자동화를 위한 파이썬
업무자동화를 위한 파이썬
 
안드로이드스터디 5
안드로이드스터디 5안드로이드스터디 5
안드로이드스터디 5
 
Clearboth Study 14th
Clearboth Study 14thClearboth Study 14th
Clearboth Study 14th
 
Code_The_Web_1
Code_The_Web_1Code_The_Web_1
Code_The_Web_1
 
Django study part9
Django study part9Django study part9
Django study part9
 

Viewers also liked

Omerta
OmertaOmerta
Omertahafhs
 
Solutions
SolutionsSolutions
Solutionshafhs
 
Puzzles
PuzzlesPuzzles
Puzzleshafhs
 
Flash game
Flash gameFlash game
Flash gamehafhs
 
A city with lifebook
A city with lifebookA city with lifebook
A city with lifebookant-fujitsu
 
Requirements list v2
Requirements list v2Requirements list v2
Requirements list v2hafhs
 
Writer’s Portofolio - Pradana
Writer’s Portofolio - PradanaWriter’s Portofolio - Pradana
Writer’s Portofolio - PradanaDana F. Zumario
 
Bubble bobble
Bubble bobbleBubble bobble
Bubble bobblehafhs
 
John o brien_presentation
John o brien_presentationJohn o brien_presentation
John o brien_presentationhafhs
 
Bubble bobble
Bubble bobbleBubble bobble
Bubble bobblehafhs
 
Презентація клініки ВІВА
Презентація клініки ВІВАПрезентація клініки ВІВА
Презентація клініки ВІВАLeonid Etnis
 
Órgano de la flor: Androceo
Órgano de la flor: AndroceoÓrgano de la flor: Androceo
Órgano de la flor: AndroceoDaniela Bracho
 
מצגת ראיון עבודה
מצגת ראיון עבודהמצגת ראיון עבודה
מצגת ראיון עבודהRonit Weissler-paz
 
Progetto ELI4U - Milestone 50% - WP3 - Attività 6 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 6 - Comune di FirenzeProgetto ELI4U - Milestone 50% - WP3 - Attività 6 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 6 - Comune di FirenzeProgettoELI4U
 

Viewers also liked (20)

Omerta
OmertaOmerta
Omerta
 
Solutions
SolutionsSolutions
Solutions
 
Puzzles
PuzzlesPuzzles
Puzzles
 
Hacosa js study 5th
Hacosa js study 5thHacosa js study 5th
Hacosa js study 5th
 
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
 
Flash game
Flash gameFlash game
Flash game
 
A city with lifebook
A city with lifebookA city with lifebook
A city with lifebook
 
Requirements list v2
Requirements list v2Requirements list v2
Requirements list v2
 
Writer’s Portofolio - Pradana
Writer’s Portofolio - PradanaWriter’s Portofolio - Pradana
Writer’s Portofolio - Pradana
 
Bubble bobble
Bubble bobbleBubble bobble
Bubble bobble
 
John o brien_presentation
John o brien_presentationJohn o brien_presentation
John o brien_presentation
 
Tp prezentztion-final
Tp prezentztion-finalTp prezentztion-final
Tp prezentztion-final
 
Bubble bobble
Bubble bobbleBubble bobble
Bubble bobble
 
Презентація клініки ВІВА
Презентація клініки ВІВАПрезентація клініки ВІВА
Презентація клініки ВІВА
 
Hacosa j query 11th
Hacosa j query 11thHacosa j query 11th
Hacosa j query 11th
 
Órgano de la flor: Androceo
Órgano de la flor: AndroceoÓrgano de la flor: Androceo
Órgano de la flor: Androceo
 
Hacosa j query 6th
Hacosa j query 6thHacosa j query 6th
Hacosa j query 6th
 
מצגת ראיון עבודה
מצגת ראיון עבודהמצגת ראיון עבודה
מצגת ראיון עבודה
 
Progetto ELI4U - Milestone 50% - WP3 - Attività 6 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 6 - Comune di FirenzeProgetto ELI4U - Milestone 50% - WP3 - Attività 6 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 6 - Comune di Firenze
 

Similar to Hacosa js study 6th

[방송통신대 컴퓨터과학과] HTML 웹 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] HTML 웹 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] HTML 웹 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] HTML 웹 프로그래밍 과제물 작성Lee Sang-Ho
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13hungrok
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web AnimationsChang W. Doh
 
2. html5 시맨틱태그
2. html5 시맨틱태그2. html5 시맨틱태그
2. html5 시맨틱태그은심 강
 
Html5 시맨틱태그
Html5 시맨틱태그Html5 시맨틱태그
Html5 시맨틱태그은심 강
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차Michael Yang
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 Yong Joon Moon
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Kyoung Up Jung
 
Code_The_Web_150524_HTML_CSS
Code_The_Web_150524_HTML_CSSCode_The_Web_150524_HTML_CSS
Code_The_Web_150524_HTML_CSSChangwhan Yea
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기sung ki choi
 
파이썬 유용한 라이브러리
파이썬 유용한 라이브러리파이썬 유용한 라이브러리
파이썬 유용한 라이브러리SeongHyun Ahn
 
XE Open seminar 테마만들기
XE Open seminar 테마만들기XE Open seminar 테마만들기
XE Open seminar 테마만들기Sungbum Hong
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차Michael Yang
 
Html5_SYS4U
Html5_SYS4UHtml5_SYS4U
Html5_SYS4Usys4u
 

Similar to Hacosa js study 6th (20)

3-2. selector api
3-2. selector api3-2. selector api
3-2. selector api
 
[방송통신대 컴퓨터과학과] HTML 웹 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] HTML 웹 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] HTML 웹 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] HTML 웹 프로그래밍 과제물 작성
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations
 
2. html5 시맨틱태그
2. html5 시맨틱태그2. html5 시맨틱태그
2. html5 시맨틱태그
 
Html5 시맨틱태그
Html5 시맨틱태그Html5 시맨틱태그
Html5 시맨틱태그
 
Hacosa jquery 1th
Hacosa jquery 1thHacosa jquery 1th
Hacosa jquery 1th
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기
 
웹표준 교육
웹표준 교육웹표준 교육
웹표준 교육
 
Code_The_Web_150524_HTML_CSS
Code_The_Web_150524_HTML_CSSCode_The_Web_150524_HTML_CSS
Code_The_Web_150524_HTML_CSS
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
 
파이썬 유용한 라이브러리
파이썬 유용한 라이브러리파이썬 유용한 라이브러리
파이썬 유용한 라이브러리
 
XE Open seminar 테마만들기
XE Open seminar 테마만들기XE Open seminar 테마만들기
XE Open seminar 테마만들기
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
 
Asp.net Razor
Asp.net Razor Asp.net Razor
Asp.net Razor
 
Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
Html5_SYS4U
Html5_SYS4UHtml5_SYS4U
Html5_SYS4U
 
2-2. html5
2-2. html52-2. html5
2-2. html5
 

More from 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 (9)

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
 
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 6th

  • 1. HACOSA JS STUDY #8 ENHANCING CONTENT
  • 2. 하면 안되는 것 • 문서 내에 중요한 내용을 추가하기 위한 DOM 사용 ‒ 단계적 기능 축소의 혜택을 제공할 수 있는 여지가 없음 ‒ 자바스크립트를 지원하지 않는 브라우저 사용자는 해당 내용을 볼 수 없게 됨 ‒ 처음 문서 구조를 만들 때 주의를 기울여야…
  • 3. 축약어 목록 표시 p.203 • <html> <head> <meta http-equiv=“content-type” content=“text/html;charset=utf-8” /> <title>문서 객체 모델</title> </head> <body> <h1>문서 객체 모델(Document Object Model)이란 무엇인가?</h1> <p> <abbr title=“World Wide Web Consortium”>W3c</abbr>는 <abbr title=“Document Object Model”>DOM</abbr>을 다음과 같이 정의 한다. </p> <blockquote cite=http://www.w3c.org/DOM> <p> 특정 문서에 대한 내용과 구조, 외양을 동적으로 접근해 변경할 수 있도록 스크립트나 프로그램이 이용 가능한 플랫폼과 언어 중립적인 인터페이스 </p> </blockquote> <p> 즉 <abbr title=“HyperText Markup Language”>HTML</abbr>이나 <abbr title=“eXtensible Markup Language” >XML</abbr> 문서를 다루는데 사용하는 <abbr title=“Application Programming Interface”>API</abbr>라고 할 수 있다. </p> </body> </html> 의 title 속성만 모아 본 정의 목록 만들기
  • 4. 축약어 목록 표시 p.203 • DOM을 사용하여 자동으로 목록 만들기 1. 문서 내에 abbr 요소를 반복문을 통해 찾는다. 2. 각 abbr 요소의 title 속성을 저장한다. 3. 각 abbr 요소의 값을 저장한다. 4. 정의 목록을 만든다. 5. 저장한 title 속성 및 abbr 요소 값을 반복문을 통해 구한다. 6. 정의 제목 요소를 만든다. 7. abbr 요소 값을 정의 제목에 넣는다. 8. 정의 설명 요소를 만든다. 9. title 속성 값을 정의 설명에 넣는다. 10. 각 정의 제목을 정의 목록에 추가한다. 11. 각 정의 설명을 정의 목록에 추가한다. 12. 마지막으로 정의 목록을 문서 body에 추가한다.
  • 5. 축약어 목록 표시 p.203 • 함수 만들기 1. 함수 이름 정의 → function displayAbbrviations() 2. 1. 문서내 abbr 요소를 반복문 통해 찾기 → var abbreviations = document.getElementsByTagName(“abbr”); for(var i = 0; i < abbreviations.length; i++){ } 3. 2. 각 abbr 요소의 title 속성을 저장한다. 3. 각 abbr 요소의 값을 저장한다. → var defs = new Array(); var abbreviations = document.getElementsByTagName(“abbr”); for(var i = 0; i < abbreviations.length; i++){ var definition = abbreviations[i].getAttribute(“title”); var key = abbreviations [i].lastChild.nodeValue; defs[key] = definition; }
  • 6. 축약어 목록 표시 p.203 4. 4. 정의 목록을 만든다. → var dlist = document.createElement(“dl”); 5. 5. 저장한 title 속성 및 abbr 요소 값을 반복문을 통해 구한다 → for (key in defs){ var definition = defs[key]; var dtitel_text = document.createTextNode(key); } 6. 6. 정의 제목 요소를 만든다. 7. abbr 요소 값을 정의 제목에 넣는다. → for (key in defs){ var definition = defs[key]; var dtitle = document.createElement(“dt”); var dtitle_text = document.createTextNode(key); dtitle.appendChild(dtitle_text); }
  • 7. 축약어 목록 표시 p.203 7. 8. 정의 설명 요소를 만든다. 9. title 속성 값을 정의 설명에 넣는다. → for (key in defs){ var definition = defs[key]; var dtitle = document.createElement(“dt”); var dtitle_text = document.createTextNode(key); dtitle.appendChild(dtitle_text); var ddesc = document.createElement(“dd”); var ddesc_text = document.createTextNode(difinition); ddesc.appendChild(ddesc_text); } 8. 10. 각 정의 제목을 정의 목록에 추가한다. 11. 각 정의 설명을 정의 목록에 추가한다. → for (key in defs){ : dlist.appendChild(dtitle); dlist.appendChild(ddesc); }
  • 8. 축약어 목록 표시 p.203 12. 마지막으로 정의 목록을 문서 body에 추가한다. → document.body.appendChild(dlist);
  • 9. 인용구 출처 표시 p.219 • <html> <head> <meta http-equiv=“content-type” content=“text/html;charset=utf-8” /> <title>문서 객체 모델</title> </head> <body> <h1>문서 객체 모델(Document Object Model)이란 무엇인가?</h1> <p> <abbr title=“World Wide Web Consortium”>W3c</abbr>는 <abbr title=“Document Object Model”>DOM</abbr>을 다음과 같이 정의 한다. </p> <blockquote cite=http://www.w3c.org/DOM> <p> 특정 문서에 대한 내용과 구조, 외양을 동적으로 접근해 변경할 수 있도록 스크립트나 프로그램이 이용 가능한 플랫폼과 언어 중립적인 인터페이스 </p> </blockquote> <p> 즉 <abbr title=“HyperText Markup Language”>HTML</abbr>이나 <abbr title=“eXtensible Markup Language” >XML</abbr> 문서를 다루는데 사용하는 <abbr title=“Application Programming Interface”>API</abbr>라고 할 수 있다. </p> </body> </html> 의 인용(blockquote) 의 cite 속성을 표기
  • 10. 인용구 출처 표시 p.219 • DOM을 사용하여 인용 출처 표시 1. 문서 내 모든 blockquote 요소를 찾아낸다. 2. Blockquote 요소로부터 cite 속성을 얻어낸다. 3. “출처”라는 텍스트 요소를 링크 요소에 추가한다. 4. Cite 속성 값을 이 링크에 추가한다. 5. 인용구 마지막에 이 링크를 추가한다.
  • 11. 인용구 출처 표시 p.219 • 함수 만들기 1. 함수 이름 정의 → function displayCitations() 2. 1. 문서 내 모든 blockquote 요소를 찾아낸다. → var quotes = document.getElementsByTagName(“blockquote”); for(var i = 0; i < quotes .length; i++){ } 3. 2. Blockquote 요소로부터 cite 속성을 얻어낸다. → var quotes = document.getElementsByTagName(“blockquote”); for(var i = 0; i < quotes .length; i++){ if(!quotes[i].gettAttribute(“cite”) continue; var url = quotes[i].getAttribute(“cite”); }
  • 12. 인용구 출처 표시 p.219 • 함수 만들기 4. 3. “출처”라는 텍스트 요소를 링크 요소에 추가한다. → var quoteChildren = quote[i].getElementsByTagName(“*”); var elem = quoteChildren[quoteChildren.length – 1]; var link = document.createElement(“a”); var link_text = document.createTextNode(“출처”); link.appendChild(link_text); 5. 4. Cite 속성 값을 이 링크에 추가한다. →link.setAttribute(“href”, url); 6. 5. 인용구 마지막에 이 링크를 추가한다. →var superscript = document.createElement(“sup”); superscript.appendChild(link); elem.appendChild(superscript);
  • 13. 접근키 표시 • 윈도우 웹브라우저 : ALT + 접근키 맥 웹브라우저 : COMMAND + 접근키 • <a href=“index.html” accesskey=“1”>첫화면</a> • 브라우저에서 제공하는 단축키와 충돌할 가능성이 있음
  • 14. 접근키 목록 만들기 1. 문서 내 모든 링크의 노드셋을 가져온다. 2. 이들 링크를 반복한다. 3. 링크에 accesskey 속성이 있으면 값을 저장한다. 4. 링크 텍스트도 저장한다. 5. 목록을 새로 만든다 6. 각 링크의 접근키를 목록 항목으로 만든다. 7. 각 목록 항목을 목록에 추가한다. 8. 목록을 문서에 추가한다.
  • 15. END