13-2-2.jQuery ÇÔ¼ö

jQuery() Àü¿ª ÇÔ¼ö´Â Àμö¸¦ ºÐ¼®ÇÏ¿© jQuery °´Ã¼¸¦ »ý¼ºÇÏ´Â Áß¿äÇÑ ¿ªÇÒÀ» Çϸç ÀÌ ÇÔ¼ö°¡ °ð ¶óÀ̺귯¸® ±× ÀÚü¶ó°í ÇÒ ¼ö ÀÖ´Ù. ±²ÀåÈ÷ ÀÚÁÖ »ç¿ëµÇ¹Ç·Î $()¶ó´Â ªÀº º°¸í±îÁö ¸¸µé¾î µÎ¾ú´Ù. ±×·¡¼­ jQuery ±¸¹®Àº °ÅÀÇ ¾ðÁ¦³ª $·Î ½ÃÀÛÇϸç $·Î ½ÃÀÛÇÏ¸é °ð jQuery ±¸¹®ÀÌ´Ù. jQuery ÇÔ¼ö´Â ÀμöÀÇ °³¼ö¿Í ŸÀÔÀÌ °¡º¯ÀûÀÎ ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ¾ð¾îÀû Ư¡À» ÃÖ´ëÇÑ È°¿ëÇÏ¿© Àü´Þ¹ÞÀº Àμö¿¡ µû¶ó ¿©·¯ °¡Áö ´Ù¸¥ µ¿ÀÛÀ» ó¸®ÇÑ´Ù.

±×·¡¼­ ÇÔ¼ö Çϳª·Î ¿©·¯ °¡Áö ÀÏÀ» ó¸®ÇÒ ¼ö ÀÖ´Â ÀÌÁ¡ÀÌ ÀÖÁö¸¸ ³Ê¹« ±â´ÉÀÌ ¸¹´Ù º¸´Ï Ãʺ¸ÀÚ°¡ º¸±â¿¡ Çò°¥¸°´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ¾î¶³ ¶© ÀÌ·¸°Ô ¾²°í ¾î¶³ ¶© Àú·¸°Ô ¾²´Ï ¹º°¡ ¸íÈ®ÇØ º¸ÀÌÁö ¾Ê´Â °ÍÀÌ´Ù. $ ÇÔ¼ö°¡ Àμö¿¡ µû¶ó ¾î¶² ½ÄÀ¸·Î »ç¿ëµÇ´ÂÁö À¯Çüº°·Î Á¤¸®ÇØ º¸ÀÚ. »ó¼¼ÇÑ »ç¿ë¹ýÀº ÀÌ Ã¥ Àü¹Ý¿¡ °ÉÃÄ ÇнÀ ¹× ½Ç½ÀÇÒ °ÍÀ̹ǷΠÁö±ÝÀº ´ëÃæ ÇüŸ¸ ºÁ µÎ¸é µÈ´Ù. ÀÌ·± ½ÄÀ¸·Î ¾´´Ù´Â ¼Ò°³¸¸ ÇÏ´Â °ÍÀ̹ǷΠ±¸Ã¼ÀûÀÎ ÄÚµå´Â ¾ÆÁ÷ ¸ô¶óµµ »ó°ü ¾ø´Ù.

 

¨ç $(¼±ÅÃÀÚ, [ÄÁÅؽºÆ®])

°¡Àå ÀÚÁÖ »ç¿ëµÇ´Â ÇüÅÂÀÌ¸ç ¼±ÅÃÀÚ·Î ÀÛ¾÷ ´ë»ó ¿¤¸®¸ÕÆ®¸¦ °Ë»öÇÑ´Ù. ¼±ÅÃµÈ ¿¤¸®¸ÕÆ®´Â jQuery °´Ã¼¿¡ ÀúÀåµÇ¸ç ÀÌÈÄ ¸Þ¼­µå¸¦ È£ÃâÇÏ¿© °Ë»öµÈ ¿¤¸®¸ÕÆ®¿¡ ¿©·¯ °¡Áö Á¶ÀÛÀ» °¡ÇÒ ¼ö ÀÖ´Ù. ù ¹ø° ¿¹Á¦¿¡¼­ »ç¿ëÇÑ $('h1')ÀÌ ´ëÇ¥ÀûÀÎ »ç¿ë¿¹ÀÌ´Ù. ű׳ª Ŭ·¡½º, ID µîÀÇ ¿©·¯ °¡Áö ±âÁØÀ¸·Î ¿¤¸®¸ÕÆ®¸¦ ¼±ÅÃÇÑ´Ù.

 

$('p.class')

$('#id')

$('div:odd')

 

¿¤¸®¸ÕÆ®°¡ ¼±ÅÃµÇ¾î °´Ã¼·Î Æ÷ÀåµÇ¸é css ¸Þ¼­µå·Î ½ºÅ¸ÀÏÀ» Á¶ÀÛÇÒ ¼öµµ ÀÖ°í text ¸Þ¼­µå·Î ³»¿ëÀ» Àаųª º¯°æÇÒ ¼öµµ ÀÖ´Ù. ¾î¶² ¼±ÅÃÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö´Â ´ÙÀ½ ÀåºÎÅÍ ¼ø¼­´ë·Î ½Ç½ÀÇØ º¼ °ÍÀÌ´Ù. µÎ ¹ø° ÀμöÀÎ ÄÁÅؽºÆ®´Â °Ë»öÀÇ ½ÃÀÛÁ¡À» ÁöÁ¤ÇÑ´Ù. ÀÌ Àμö¸¦ »ý·«ÇÏ¸é ¹®¼­ Àüü¿¡¼­ °Ë»öÇÏÁö¸¸ ÄÁÅؽºÆ®¸¦ ÁöÁ¤ÇÏ¸é ±× ÇÏÀ§·Î °Ë»ö ¹üÀ§°¡ Á¦ÇѵȴÙ.

¨è $(element)

DOM ¿¤¸®¸ÕÆ®¸¦ Àμö·Î Àü´ÞÇϸé ÀÌ °´Ã¼¸¦ °¨½Î´Â jQuery °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù. DOM °´Ã¼´Â DOM ¸Þ¼­µå·Î Á¦¾îÇÏ´Â °ÍÀÌ ¿øÄ¢ÀÌÁö¸¸ jQuery °´Ã¼·Î ·¦ÇÎÇϸé jQuery ¸Þ¼­µå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾Õ ¿¹Á¦¸¦ ÀÌ ¹æ½ÄÀ¸·Î ¹Ù²Ù¸é ´ÙÀ½°ú °°´Ù.

 

jquerywrap.html

<!DOCTYPE html>

<html>

<head>

     <meta charset="utf-8">

     <title>jquerywrap</title>

     <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>

</head>

<body>

     <h1>Á¦¸ñÀÔ´Ï´Ù.</h1>

     <script>

         var elem = document.getElementsByTagName('h1')[0];

         $(elem).css('background', 'yellow');

     </script>

</body>

</html>

 

getElementsByTagName ¸Þ¼­µå°¡ ¸®ÅÏÇÏ´Â °ÍÀº DOM °´Ã¼ ¹è¿­ÀÌ¸ç ±× Ã¹ ¹ø° ¿ä¼Ò¸¦ ´ëÀÔ¹ÞÀº elemÀº DOM °´Ã¼ÀÌ´Ù. ¿¹Á¦¿¡¼­´Â ÀϺη¯ DOM °´Ã¼¸¦ ã¾ÒÁö¸¸ ¿ÜºÎ¿¡¼­ ÀÌ °´Ã¼°¡ ÁÖ¾îÁ³´Ù°í ÇØ º¸ÀÚ. DOM °´Ã¼¿¡ ´ëÇØ css³ª text °°Àº jQuery ¸Þ¼­µå¸¦ Á÷Á¢ È£ÃâÇÒ ¼ö ¾ø´Ù. ±×·¡¼­ ÀÌ °´Ã¼¸¦ $() ÇÔ¼ö·Î Àü´ÞÇÏ¿© jQuery °´Ã¼·Î ·¦ÇÎÇϸç ÀÌ·¸°Ô ÇÏ¸é ¿©·¯ °¡Áö Æí¸®ÇÑ jQuery ¸Þ¼­µå¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.

¹®¼­ ³»ÀÇ ¿¤¸®¸ÕÆ®´Â $(¼±ÅÃÀÚ) È£Ãâ·Î jQuery °´Ã¼¸¦ ¸¸µé ¼ö ÀÖÀ¸¹Ç·Î ±»ÀÌ ·¦ÇÎÀ» ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. À§ ¿¹Á¦Ã³·³ ±æ°Ô ¾µ ÇÊ¿ä¾øÀÌ $('h1')À¸·Î ã´Â °ÍÀÌ ÈξÀ ´õ °£ÆíÇÏ´Ù. ±×·¯³ª ¹®¼­ ÀÚüÀÎ document³ª ¹®¼­º¸´Ù »óÀ§ÀÇ °´Ã¼ÀÎ window´Â ¼±ÅÃÀڷΠãÀ» ¼ö ¾ø´Ù. ¶Ç ±âÁ¸ÀÇ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå¿Í ¼¯¾î¼­ »ç¿ëÇÏ´Ù º¸¸é DOM °´Ã¼¸¦ ¹Þ´Â °æ¿ì°¡ ÀÖ°í jQuery Äڵ忡¼­µµ ¼øȸ¸¦ ÇÏ´Ù º¸¸é DOM °´Ã¼¸¦ ±¸ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ¶Ç À̺¥Æ® Çڵ鷯¿¡¼­ this´Â Ç×»ó DOM °´Ã¼¿©¼­ ±× ÀÚü·Î´Â jQuery ¸Þ¼­µå¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.

DOM °´Ã¼¸¦ Á¶ÀÛÇÏ·Á¸é DOM ¸Þ¼­µå¸¦ È£ÃâÇØ¾ß ÇÏÁö¸¸ ºÒÆíÇÏ°í ȣȯ¼ºµµ ¶³¾îÁø´Ù. ±×·¡¼­ jQuery °´Ã¼·Î ·¡ÇÎÇÑ ÈÄ jQuery ¸Þ¼­µå·Î Á¶ÀÛÇÏ´Â °ÍÀÌ Æí¸®ÇÏ´Ù. $() ÇÔ¼öÀÇ Àμö·Î DOM °´Ã¼¸¦ Àü´ÞÇϸé ÀÌ °´Ã¼¸¦ °¨½Î´Â jQuery °´Ã¼°¡ ¸®ÅϵǸç ÀÌÈÄ jQuery ¸Þ¼­µå¸¦ ¸¶À½´ë·Î È£ÃâÇÒ ¼ö ÀÖ´Ù. $() ÇÔ¼ö·Î DOM °´Ã¼ÀÇ ¹è¿­À» Àü´ÞÇÏ¸é ¹è¿­ÀÇ ¸ðµç °´Ã¼°¡ ÇϳªÀÇ jQuery °´Ã¼·Î ·¦ÇεȴÙ.

¨é $(html, [¼ÒÀ¯¹®¼­])

Àμö·Î Àü´ÞµÈ html ¹®ÀÚ¿­·Î »õ·Î¿î ¿¤¸®¸ÕÆ®¸¦ Á÷Á¢ »ý¼ºÇÑ´Ù. ÀÌ·¸°Ô »ý¼ºÇÑ ¿¤¸®¸ÕÆ®¸¦ DOM Æ®¸®ÀÇ ¿øÇÏ´Â ºÎºÐ¿¡ »ðÀÔÇÏ¿© ½ÇÇàÁß¿¡ ¹®¼­¸¦ ¸¸µé ¼ö ÀÖ´Ù. ÀÏ¹Ý ¹®ÀÚ¿­ÀÌ¸é ¼±ÅÃÀÚ·Î ÀνĵǹǷΠ¹®ÀÚ¿­ ³»ºÎ¿¡ ¹Ýµå½Ã <> °ýÈ£°¡ Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ½ÇÇàÁß¿¡ ¿¤¸®¸ÕÆ®¸¦ ¸¸µé¾î ¹®¼­¿¡ Ãß°¡ÇÑ´Ù.

 

makeelement.html

<!DOCTYPE html>

<html>

<head>

     <meta charset="utf-8">

     <title>makeelement</title>

     <script src="jquery-1.11.0.min.js"></script>

</head>

<body>

     <script>

         var elem = $('<p>½ÇÇàÁß¿¡ ¸¸µç ¿¤¸®¸ÕÆ®ÀÔ´Ï´Ù.</p>');

         elem.appendTo('body');

     </script>

</body>

 

body¿¡´Â ½ºÅ©¸³Æ®¸¸ ÀÖ°í űװ¡ ÀüÇô ¾øÁö¸¸ Äڵ忡 ÀÇÇØ Å±װ¡ ½ÇÇàÁß¿¡ Ãß°¡µÈ´Ù. $(HTML ÅÂ±× ¹®ÀÚ¿­) ÇüÅ·Π¹®¼­ Á¶°¢À» ¸¸µé°í append ¸Þ¼­µå·Î ¿øÇÏ´Â °÷¿¡ ÅÎÇÏ´Ï ºÙÀÌ¸é µÈ´Ù. ¹®´ÜÀ» Çϳª ¸¸µç ÈÄ body¿¡ ºÙ¿´À¸¹Ç·Î À¥ ÆäÀÌÁö¿¡ ¹®´ÜÀÌ Ç¥½ÃµÈ´Ù.

µÎ ¹ø° Àμö·Î ¼ÒÀ¯ ¹®¼­¸¦ Àü´ÞÇÏ¸é »õ·Î ¸¸µç ¿¤¸®¸ÕÆ®´Â ÀÌ ¹®¼­¿¡ ¼Ò¼ÓµÈ´Ù. ¶Ç´Â µÎ ¹ø° Àμö·Î »õ·Î ¸¸µé¾îÁø ¿¤¸®¸ÕÆ®¿¡ ºÎÂøµÉ ¼Ó¼ºÀ̳ª À̺¥Æ®, ¸Þ¼­µå¸¦ Àü´ÞÇÒ ¼öµµ ÀÖ´Ù.

¨ê $(ÇÔ¼ö)

$() ÇÔ¼öÀÇ Àμö·Î ´Ù¸¥ ÇÔ¼ö¸¦ Àü´ÞÇÏ¸é ¹®¼­°¡ ·ÎµåµÉ ¶§ È£ÃâµÉ Äݹé ÇÔ¼ö¸¦ µî·ÏÇÑ´Ù. window.onload À̺¥Æ®¿Í À¯»çÇÑ document.ready À̺¥Æ®¿¡ ´ëÇÑ Çڵ鷯 ÇÔ¼ö¸¦ ÁöÁ¤ÇÏ´Â °ÍÀ̸ç ÀÌ ÄÚµå´Â ·Îµå Á÷ÈÄ¿¡ °ð¹Ù·Î ½ÇÇàµÈ´Ù. ÃʱâÈ­ ¿Ï·á À̺¥Æ®¸¦ ÀÚÁÖ »ç¿ëÇϹǷΠÃà¾àµÈ ÇüŸ¦ Áö¿øÇÏ¸ç ½ºÅ©¸³Æ® Äڵ带 head¿¡ ÀÛ¼ºÇÒ ¶§´Â ¹Ýµå½Ã Äݹé ÇÔ¼ö ¾È¿¡ Äڵ带 ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ù ¹ø° ¿¹Á¦¸¦ ´ÙÀ½°ú °°ÀÌ ¾µ ¼öµµ ÀÖ´Ù.

 

jqueryready.html

<!DOCTYPE html>

<html>

<head>

     <meta charset="utf-8">

     <title>jqueryready</title>

     <script src="jquery-1.11.0.min.js"></script>

     <script>

         $(function() {

              $('h1').css('background', 'yellow');

         });

     </script>

</head>

<body>

     <h1>Á¦¸ñÀÔ´Ï´Ù.</h1>

</body>

</html>

 

headÀÇ ½ºÅ©¸³Æ®¿¡¼­ ´õ µÚÂÊ¿¡ ÀÖ´Â bodyÀÇ <h1>À» ÂüÁ¶ÇÏÁö¸¸ ÃʱâÈ­ ¿Ï·á ÈÄ¿¡ ½ºÅ©¸³Æ®°¡ ½ÇÇàµÇ¹Ç·Î ÀÌ»ó¾øÀÌ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ´ÙÀ½°ú °°ÀÌ Äݹé ÇÔ¼ö ¾È¿¡ ÀÛ¼ºÇÏÁö ¾Ê°í ½ºÅ©¸³Æ®¸¦ ¹Ù·Î ÀÛ¼ºÇϸé À̶§´Â ¾ÆÁ÷ <h1>ÀÌ ·ÎµåµÇÁö ¾ÊÀº »óÅÂÀ̹ǷΠÁ¦´ë·Î °Ë»öµÇÁö ¾ÊÀ» °ÍÀÌ´Ù.

 

<script>

     $('h1').css('background', 'yellow');

</script>

 

ÀÌ»óÀ¸·Î $() ÇÔ¼öÀÇ ÁÖ¿ä »ç¿ë ÇüŸ¦ Á¤¸®ÇØ º¸¾Ò´Ù. ¹®¼­¿¡ Á¸ÀçÇÏ´Â ¿¤¸®¸ÕÆ®¸¦ ãÀ» ¶§°¡ ¾ÐµµÀûÀ¸·Î ¸¹À¸¹Ç·Î 1¹ø ÇüŸ¦ Á¦ÀÏ ¸¹ÀÌ »ç¿ëÇÑ´Ù. ¿ö³« ÀμöÀÇ ÇüÅ°¡ ´Ù¾çÇؼ­ Çò°¥¸®°í º¹ÀâÇØ º¸ÀÌÁö¸¸ ¿À¹ö·ÎµùÀÇ ÇÑ ¿¹ÀÏ »ÓÀÌ¸ç ¾ÕÀ¸·Î 4°¡Áö ÇüŸ¦ °ñ°í·ç ½Ç½ÀÇØ º¼ °ÍÀÌ´Ù.