Tel. 042-353-2371

ÆòÀÏ ¿ÀÀü 9½Ã ~ ¿ÀÈÄ 7½Ã
±â¾÷ÀºÇà

010-8649-6758

¿¹±ÝÁÖ:Á¦ÁÖ»ç¶û(¼ÛÁø¾Æ)
JAVASCRIPT
Ȩ > ȨÆäÀÌÁöÁ¦ÀÛ±³½Ç > JAVASCRIPT

Ä«Å×°í¸® Tutorial
Á¦¸ñ DOM
ÀÛ¼ºÀÚ freewebkorea
ÀÛ¼ºÀÏÀÚ 2009-12-09
Á¶È¸¼ö 1243

DOM

DOM À̶õ Á¦¸ñ¿¡¼­µµ º¸´Ù½ÃÇÇ Document(¹®¼­) ³»ÀÇ TagµéÀ» ¾î¶»°Ô Object(¹°Ã¼È­) Çϴ°¡¿¡ ´ëÇÑ W3C ÀÇ Ç¥ÁØ Model À̶ó ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù.
DHTML

Dynamin HTML ÀÇ ¾àÀڷμ­ À¥ÆäÀÌÁö¿¡ ¾î¶² µ¿ÀûÀÎ È¿°ú¸¦ ÁÖ±â À§ÇÑ µµ±¸·Î¼­, DHTMLÀ» µü ¹¹¶ó°í ÇÑ ¸¶µð·Î Ç¥ÇöÇϱâ´Â Âü ¾Ö¸ÅÇÑ ±¸¼®ÀÌ ÀÖ½À´Ï´Ù. ±×·¸Áö¸¸ °¡Àå ±ÙÁ¢ÇÑ ¼³¸íÀ» ÇÑ´Ù¸é DHTMLÀº HTML, CSS, JavaScript °¡ °áÇյǾ ¼­·Î ¹¶¶×±×·ÁÁ® ÀÖ´Â ¾ð¾î¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ÆäÀÌÁö¿¡¼­´Â DOMÀ» ÀÌ¿ëÇÏ¿© HTML Tag¿¡ ¾î¶² DynamicÇÑ È¿°ú¸¦ ÁÙ ¼ö ÀÖ°í, ¶Ç ¾î¶»°Ô ±×·± È¿°ú¸¦ ÁÖ´ÂÁö¿¡ ´ëÇØ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¿ì¼± °£´ÜÇÑ ¿¹Á¦ ºÎÅÍ Çϳª º¸µµ·Ï ÇÏÁÒ. ÄÚµå ½ÇÇà±â¿¡¼­ ½ÇÇàÀ» ½ÃÄ×À¸¸é ´ÜÃß ºÎÅÍ Å¬¸¯ÇÏÁö ¸»°í ¸µÅ©¸¦ ¸ÕÀú Ŭ¸¯ÇØ º¸¼¼¿ä. ±×·± ´ÙÀ½ ´ÜÃß Å¬¸¯ ÈÄ¿¡ ¸µÅ©¸¦ ´Ù½Ã Ŭ¸¯ÇØ º¸½ÃÁ®...
ÀÔ·Â

<html>
    <head>
        <title>DHTML D.O.M</title>
    </head>
    <body>
      <a id="a_1">¿©±â¸¦ ¸ÕÀú Ŭ¸¯Çϼ¼¿ä.</a>
      <button onclick="document.getElementById('a_1').href='http://kr.yahoo.com/';">
      ¸µÅ© »ý±â±â</button>
      <button onclick="document.getElementById('a_1').href=' ';window.location.reload();">
      ¸µÅ© ¾ø¾Ö±â</button>
    </body>
</html>
ÄÚµå ½ÇÇà Çϱâ

Áö±Ý ½Ç½ÀÀ» ÇØºÁ¼­ ¾Ë°ÚÁö¸¸ a Tag¿¡´Â href ·Î °É·Á ÀÖ´Â ¸µÅ©°¡ ¾ø½À´Ï´Ù. µû¶ó¼­ ½ÇÇàÀ» ÇÏ°í ³ª¸é ¸µÅ©°É¸° ±ÛÀÚ°¡ ¾Æ´Ñ ÀÏ¹Ý ±ÛÀÚ·Î º¸À̰ÚÁÒ? ÇÏÁö¸¸ ´ÜÃ߸¦ Ŭ¸¯ÇÏ´Â ¼ø°£ href ¿¡´Â http://kr.yahoo.com/ À̶ó´Â ¸µÅ©°¡ µé¾î°¡°Ô µÇ¾î¼­ ±ÛÀÚ°¡ ¸µÅ© ±ÛÀÚ·Î ¹Ù²î°í, Ŭ¸¯ÇÏ¸é ¾ßÈÄ ÆäÀÌÁö°¡ ¿­¸®°Ô µÇ´Â °Ì´Ï´Ù.

ÀÌ·± °É ¹Ù·Î D.O.M À̶ó°í ÇÏ´Â °ÅÁ®. ÀÌ°Ç ¿©·¯¹ø ¼³¸íÇß´ø »ç½ÇÀε¥ ÀÏ´Ü ÆäÀÌÁö°¡ ´Ù ·Îµå µÇ´õ¶óµµ ±× ÆäÀÌÁö¿¡ id¸¦ °¡Áö°í ObjectÈ­ µÇ¾îÀÖ´Â TagµéÀÌ Parser¿¡ ±×´ë·Î µé¾î Àֱ⠶§¹®¿¡ Áö½Ã¸¸ Á¤È®ÇÏ´Ù¸é ¹®¼­°¡ ´Ù ÀÐÇô Á®µµ ÁöÁ¤ÇÑ Object¿¡ ¾î¶² Áö½Ã¸¦ ÇϰԵǴ °Ì´Ï´Ù. ±×·¯¸é ¿ä¹ø¿¡´Â Á» º¹ÀâÇÑ ¿¹Á¦...
ÀÔ·Â

<html>
    <head>
        <title> DHTML D.O.M</title>
    <style type="text/css">
    <!-- 
    .sam{color:tomato;} 
    -->
    </style>
    </head>
    <body id="body_1" bgcolor="#dddddd">
    <div id="div_1" class="sam" style="width:100%; height:25px; background:gold;">
    <b>Text</b></div>    
    <script type="text/javascript">
    <!--
    // var ·Î º¯¼ö ¼³Á¤
    var bg_color,  identifier, width, height, background, styleProprty, clsName, iHTML
    bg_color = body_1.bgColor  // body_1ÀÇ bgcolor¸¦ bg_color º¯¼ö¿¡ ÀúÀå 'C' ´ë¹®ÀÚ ÁÖÀÇ
    identifier = div_1.id  // div_1ÀÇ id NameÀ» identifier º¯¼ö¿¡ ÀúÀå
    width = div_1.style.width  // div_1ÀÇ styleÁöÁ¤ width¸¦ width º¯¼ö¿¡ ÀúÀå
    height = div_1.style.height  // div_1ÀÇ styleÁöÁ¤ height¸¦ height º¯¼ö¿¡ ÀúÀå
    background = div_1.style.background  // div_1ÀÇ styleÁöÁ¤ ¹è°æ»öÀ» background º¯¼ö¿¡ ÀúÀå
    styleProperty = div_1.style  // div_1ÀÇ style PropertyµéÀ» styleProperty º¯¼ö¿¡ ÀúÀå
    clsName = div_1.className  // div_1ÀÇ classNameÀ» clsName º¯¼ö¿¡ ÀúÀå
    iHTML = div_1.innerHTML  // div_1ÀÇ ³»¿ë(content)¸¦ iHTML º¯¼ö¿¡ ÀúÀå

    document.write("Document's bgcolor : " + bg_color + "<br />")
    document.write("id Name : " + identifier + "<br />")
    document.write("width : " + width + "<br />")
    document.write("height : " + height + "<br />")
    document.write("background : " + background + "<br />")
    document.write("styleProperty : " + styleProperty + "<br />")
    document.write("className : " + clsName + "<br />")
    document.write("innerHTML : " + iHTML + "<br />")
    // -->
    </script>
    </body>
</html>
ÄÚµå ½ÇÇà Çϱâ

Ãâ·Â °á°ú¸¦ º¸¸é styleProperty ÀÇ °ªÀº [object] ¶ó°í¸¸ ³ª¿ÀÁ®? style Property ÀÇ °æ¿ì¿¡´Â Property À̸§±îÁö Àû¾îÁÖÁö ¾ÊÀ¸¸é [object] ¶ó´Â °á°ú °ª¸¸ Return ÇØ Áֱ⠶§¹®ÀÌÁ®. ¶Ç ÀÌ°Ç ºê¶ó¿ìÀú°¡ AttributeµéÀ» Object·Î ÀνÄÇϰí ÀÖ´Ù´Â ¶æ À̱⵵ Çϱ¸¿ä. ÃæºÐÈ÷ ÀÌÇØ ÇßÀ¸¸®¶ó°í ¹ÏÁö¸¸ À§ÀÇ ¿¹Á¦ Áß¿¡¼­ ¾à°£ÀÇ º¸Ãæ ¼³¸íÀ» ÇϰڽÀ´Ï´Ù.

<div id="div_1" class="sam" style="width:100%; height:25px;background:gold;">
Áß¿¡¼­ ±½°Ô Ç¥½ÃÇÑ ºÎºÐÀÇ ¸íĪÀ» ¾î¶»°Ô ºÎ¸£³Ä ÇÏ´Â ¹®Á¨µ¥ ¾Æ·¡¿Í °°ÀÌ

div_1 ˼ div_1.id (div_1˂ id Name)
style="width Àº div_1.style.width (div_1 TagÀÇ style Attribute ÁßÀÇ width Property)

ÀÌ·¸°Ô ¸» ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù.

CSS Scripting ¿¡¼­µµ ¼³¸íÇßÁö¸¸ °¢ id.Attribute.Value ÀÇ ¼øÀ¸·Î »çÀÌ¿¡ Period( . )À» Âï¾î¼­ ±¸ºÐÇØ ÁÝ´Ï´Ù. ¸¸¾à¿¡ div_1.style.width¸¦ ¿ì¸®°¡ ¸» ÇÒ ¶§ÀÇ ¹®ÀåÀ¸·Î Ç¥Çö ÇÑ´Ù¸é id°¡ div_1ÀÎ TagÀÇ style Property µé ÁßÀÇ width ¶ó´Â Property... ÀÌ·¸°Ô Ç¥ÇöÀÌ °¡´ÉÇϰÚÁ®. ±×·¯´Ï±î Period¸¦ ¿µ¾îÀÇ of ·Î ÇØ¼®ÇÏ¸é µÇ°Ú±º¿ä. ÀÌ Ã³·³ HTML Tag°ú Attribute°¡ Object·Î ¸ðµâÈ­ µÇ¾î Àֱ⠶§¹®¿¡ ¾ó¸¶µçÁö Tag °ú Attribute¸¦ Control ÇÒ ¼ö ÀÖ´Â °ÅÁ®. ÀÌ·± DHTMLÀÌ À¥ ¹®¼­¸¦ µðÀÚÀÎ ÇÏ´Â »ç¶÷ÇÑÅ× Áß¿äÇÑ ÀÌÀ¯´Â ¹°·Ð ½Ã°¢ÀûÀÎ È¿°ú¸¦ ³»¼­ ¹æ¹®°´ÀÇ ´«±æÀ» ²ø¾î º¸°Ú´Ù´Â Àǵµµµ ³ª»ÚÁö ¾ÊÁö¸¸, ¹®ÀåÀ¸·Î ±æ°Ô ¼³¸íÇÏ´Â °Í º¸´Ù µ¿ÀûÀÎ È¿°ú¸¦ ÀÌ¿ëÇÏ¿© ÀڱⰡ Ç¥ÇöÇϰíÀÚ ÇÏ´Â ³»¿ëÀ» ´Ü ½Ã°£¿¡ ¹æ¹®ÀÚ¿¡°Ô ¾Ë¸®´Âµ¥ ÁøÁ¤ÇÑ ¸ñÀûÀÌ ÀÖ´Ù°í ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù. DHTML... »ç¶û½º·¯¿î °Í... ¾ÆÁÖ ÇÔÃàÀûÀÎ ¾ð¾îÀÔ´Ï´Ù.

±×·³ ½ÇÇè »ï¾Æ ÇÑ °¡Áö ¿¹Á¦¸¦ ÇØ º¸´Âµ¥, ¸ÕÀú ÇÔ »ý°¢À» ÇØ º¸½ÃÁ®. ¾Æ·¡ÀÇ ¿¹Á¦¿Í °°ÀÌ id ¸¦ ÁöÁ¤ÇÑ Tag¿¡ style attribute¸¦ »ç¿ëÇÏÁö ¾Ê¾ÒÀ» °æ¿ì CSS ScriptingÀ¸·Î width³ª height¸¦ »õ·Î ÁöÁ¤ÇÒ ¼ö ÀÖÀ»Áö ¾øÀ»Áö¿¡ ´ëÇØ¼­ ¸»ÀÔ´Ï´Ù. ÁöÁ¤ÀÌ ¹Ì¸® ¾ÈµÇ¾î ÀÖÀ¸¸é ¾î¶»°Ô µÇ´Â °ÇÁö...
ÀÔ·Â

<html>
    <head>
        <title> DHTML D.O.M</title>
    <body id="body_1" bgcolor="#dddddd">
    <div id="div_1">Text</div>    
    <button onclick="document.getElementById('div_1').style.color='red';
    document.getElementById('div_1').style.background='gold';">
    ±ÛÀÚ»ö°ú ¹è°æ»ö</button>
    </body>
</html>
ÄÚµå ½ÇÇà Çϱâ

¾î¶»½À´Ï±î. style Attirbute¸¦ »© ³õ¾Æµµ ScriptingÀÌ µèÁö ¾Ê½À´Ï±î? ÀÌ¿Í °°ÀÌ ÀÏ´Ü id ¸¦ °¡Áø object°¡ µÇ¸é »ç¿ëÇÏÁö ¾ÊÀº Attribute³ª Attribute °ªÀ» ³Ö°Å³ª »¬ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼­ Á¦°¡ HTMLÀÌ Áß¿äÇÏ´Ù°í HTML ¸Þ´º¿Í CSS ¸Þ´º¿¡¼­ ¿©·¯ ¹ø ¸»Çß´ø °Ì´Ï´Ù.