ȸ¿ø·Î±×ÀÎ
jQueryÀÇ ±âº»ÀÌ µÇ´Â jQuery - Core¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ!!
13³â Àü
jQuery/Core¶õ?
jQuery/Core¶õ jQueryÀÇ ÇÙ½ÉÀÌ µÇ´Â °ÍÀ» ÀǹÌÇÑ´Ù. ±×¸¸Å ¿ì¸®°¡ jQuery¸¦ »ç¿ëÇÒ ¶§ ¸¹ÀÌ »ç¿ëµÇ´Â ºÎºÐÀ̱⵵ ÇÏ´Ù.
ÇÏÁö¸¸ Core¶ó°íÇؼ ¾î·Á¿ï°ÍÀº ¾ø°í, ÀÇ¿Ü·Î °£´ÜÇÏ´Ù. Core¸¦ Ç¥ÇöÇϸé "$()"ÀÌ·¸°Ô µÈ´Ù.
Âü°í·Î,
jQuery¸¦ Ç¥ÇöÇÒ ¶§ µÎ°¡Áö°¡ Àִµ¥ ÇÑ°¡Áö´Â "jQuery(document).ready()" ÀÌ·¸°Ô "jQuery"¸¦ »ç¿ëÇÏ´Â ¹æ¹ý°ú "$(document).ready()" ó·³ "$"·Î »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌ°ÍÀº »ç¿ëÀÚ ÃëÇâ¿¡ ¸Â°Ô ¼±ÅÃÇؼ »ç¿ëÇÏ¸é µÈ´Ù.
Á¤È®ÇÑ °³³äÀ» ¾Ë°í ½ÍÀ¸½Å ºÐÀº http://docs.jquery.com/Core ¿©±â·Î °¡½Ã¸é ÀÚ¼¼È÷ ¾Ë ¼ö°¡ ÀÖ´Ù. ÇÏÁö¸¸ Àú ó·³ ¿µ¾î¿¡
¾àÇϽŠºÐµéÀº ÀÌ·¸°Ô ÀÌÇظ¦ ÇÏ½Ã¸é µÈ´Ù.
±×·³ ÀÌÁ¦ »ç¿ë¹ý¿¡ ´ëÇؼ Çѹø »ìÆì º¾½Ã´Ù.
jQuery »ç¿ë¹ý
¿©±â¼ »ç¿ëµÇ´Â ¿¹Á¦³ª API´Â http://docs.jquery.com/ jQuery°ø½Ä »çÀÌÆ®¿¡¼ ¹ßÃéÇÑ °ÍÀÓÀ» ¹Ì¸® ¸»¾¸µå¸®°í ½ÃÀÛÇÕ´Ï´Ù.
1. jQuery( expression, context )
: expression´Â String·Î Ç¥ÇöµÇ°í ƯÁ¤ ű׸¦ ãÀ»¶§ »ç¿ëµÇ¸ç, context´Â Element³ª jQueryÀ¸·Î ÀÎÀÚ °ªÀ¸·Î ¹Þ´Â´Ù.
Áï, $("input:radio", document.forms[0]); ÀÌ¿Í °°ÀÌ »ç¿ëµÈ´Ù.
2. jQuery( html )
: jQuery´Â ÀÎÀÚ°ªÀ¸·Î html ű׸¦ ¹Þ¾Æ ±× ű׸¦ HTMLÆäÀÌÁö¿¡ Ãß°¡¸¦ ÇÒ ¼ö°¡ ÀÖ´Ù.
Áï, ÀÌ·¸°Ô $("<div><p>Hello</p></div>").appendTo("body") »ç¿ëÀÌ µÇ±âµµ ÇÏ°í, $("<input/>").attr("type", "checkbox");
ÀÌ·¸°Ôµµ »ç¿ëµÇ±âµµ ÇÑ´Ù.
Ç®ÀÌ ÇÏÀÚ¸é ù ¹ø°´Â "body"¾È¿¡ "<div><p>Hello</p></div>"¸¦ »ðÀÔ(appendTo()´Â ƯÁ¤ ű׿¡ »çÀÔÇÒ ¶§ »ç¿ë )ÇÑ´Ù´Â
¾Ö±â°í µÎ¹ø°´Â "input"¸¦ »ý¼ºÇ쵂 "type=checkbox"·Î ÇÏ¿© ű׸¦ »ý¼ºÇÏ°Ô µÈ´Ù. µÎ¹ø°´Â HTML ¸¶Áö¸· ºÎºÐ¿¡ »ðÀÔÀÌ
µÈ´Ù.
3. jQuery( elements )
: DOM element(s) ¸¦ ÀÎÀÚ·Î ¹Þ¾Æ ±× Áö¿ªÀÇ elements¸¦ ¼³Á¤ÇÒ ¼ö°¡ ÀÖ´Ù.(ÇÑ°³ ȤÀº ´Ù¼ö¸¦ ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ´Ù.)
$(document.body).css( "background", "black" ); -> HTML ¹è°æ»öÀ» °ËÁ¤»öÀ¸·Î ¹Ù²Û´Ù.
$(myForm.elements).hide() -> myFormÀÇ À̸§À» °¡Áø form¾ÈÀÇ elementsÀ» ¼û±ä´Ù.
4. jQuery( callback )
: ÀÌ°ÍÀº ÀÎÀÚ°ªÀ» ÇÔ¼ö·Î ÁöÁ¤À» ÇÒ ¼ö°¡ ÀÖ´Ù´Â ¾Ö±â·Î jQuery¸¦ óÀ½ ½ÃÀÛÇÏ´Â ºÎºÐ¿¡¼ ¸¹ÀÌ Á¢ÇØ ºÃÀ» °ÍÀÌ´Ù.
Áï, "$(document).ready(function(){....};)" ÀÌ ºÎºÐ
ÀÌ·¸°Ô »ç¿ëÇÏ´Â °ÍÀº ƯÁ¤ À̺¥Æ®°¡ ¹ß»ýÇÒ ¶§ ±× ºÎºÐÀ» ÇÔ¼ö·Î ó¸® Çϱâ À§Çؼ ÀÌ´Ù. ¿¹¸¦ µé¾î ¸¶¿ì½º¸¦ Ŭ¸¯½Ã
°æ°íâÀ» ¶ç¿öÁÖ°í ½Í´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù.
"$(document).click(function(){
alert("¸¶¿ì½º°¡ ´·ÁÁü!!");
};)"
- jQuery Object Accessors
À̹ø¿¡´Â Á÷Á¢ ¿ÀºêÁ§Æ®¸¦ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Â jQuery¿¡ ´ëÇؼ ¾Ë¾Æ º»´Ù. ¹¹, jQuery ȨÆäÀÌÁö¿¡ °¡¸é ´Ù ³ª¿Í ÀÖ´Â °ÍµéÀ̱ä ÇÏÁö¸¸ ±×·¡µµ º»ÁÂÀÇ ³ª¸§ Çؼ®ÆÇÀ» µè°í ½Í´Ù¸é °è¼Ó ºÁµµ µÈ´Ù. ´Ù¸¸, º»Áµµ ¿µ¾î°¡ ª±â ¶§¹®¿¡ Á÷Á¢ ½ÇÇàÇØ ºÁ¼ ÀÌÇØ Çϱ⵵ ÇÑ ºÎºÐµµ ÀÖ°í À̸®Àú¸® ã¾Æ ´Ù´Ï¸é¼ ¾Ë¾Æ³½ °Í µéµµ ÀÖ´Ù. ±×·¡¼ ¿µ¾î ÀßÇϽô ºÐ µéÀÌ ºÃÀ» °æ¿ì ¿µ ¾Æ´Ï´Ù ½ÍÀ¸¸é ÀÚ¼¼È÷ ´äº¯À» ³²°Ü Áֽøé Âü°íÇÏ¿© ¼öÁ¤Åä·Ï ÇÏ°ÚÀ½...
±×·³ ¿ÀºêÁ§Æ®¸¦ ¿¢¼¼½º ÇÒ ¼ö ÀÖ´Â jQuery ¿¡ ´ëÇؼ ¾Ë¾Æ º¾½Ã´Ù.
1. each( callback )
: ÇØ´ç ¿ÀºêÁ§Æ®¿¡¼ ¾î¶² ÇÔ¼ö󸮸¦ ÇÏ°í ½ÍÀ» °æ¿ì »ç¿ëµÈ´Ù. Äڵ带 Á÷Á¢ º¸¸é ÀÌÇØ°¡ ½±°Ô µÈ´Ù.
$(document.body).click(function() {
$("div").each(function (i) {
// Ŭ¸¯ À̺¥Æ®°¡ ¹ß»ý µÇ¾úÀ» °æ¿ì "div"ű׿¡¼¸¸ ±Û »ö»óÀ» º¯°æÇϵµ·Ï ÇÑ´Ù.
if (this.style.color != "blue") {
this.style.color = "blue";
} else {
this.style.color = "";
}
});
});
ÀÌ Äڵ带 ½ÇÇà ½ÃÅ°¸é Ŭ¸¯ ÇÒ¶§¸¶´Ù »ö±òÀÌ º¯°æÀÌ µÈ´Ù. Âü°í·Î ÀÌ ÄÚµå´Â "body"¾ÈÀÇ ¸ðµç"div"ű׸¦ ¶æÇÑ´Ù. ƯÁ¤ "div"
¿¡¼¸¸ À̺¥Æ®°¡ ¹ß»ýµÇ±â¸¦ ¿øÇÏ½Ã¸é ±× Å±×ÀÇ À妽º¸¦ ã¾Æ¾ß ÇÒ °ÍÀÌ´Ù.
2. size()
: ÇØ´ç ¿ÀºêÁ§Æ®ÀÇ ElementsÀÇ ¼ö¸¦ ¾Ë°íÀÚ ÇÒ ¶§ »ç¿ëµÈ´Ù.
$(document.body).click(function () {
$(document.body).append($("<div>"));
var n = $("div").size();
$("span").text("There are " + n + " divs." +
"Click to add more.");
}).click(); // trigger the click to start
3. length()
: ÇØ´ç ¿ÀºêÁ§Æ®ÀÇ ElementsÀÇ ¼ö¸¦ ¾Ë°íÀÚ ÇÒ ¶§ »ç¿ëµÈ´Ù. size()¿Í µ¿ÀÏÇÏ´Ù.
$(document.body).click(function () {
$(document.body).append($("<div>"));
var n = $("div").length;
$("span").text("There are " + n + " divs." +
"Click to add more.");
}).trigger('click'); // trigger the click to start
4. eq( position )
: ÇØ´ç Æ÷Áö¼Ç¿¡ À§Â÷ÇÑ Å±׸¦ ã´Â´Ù. ÇѸ¶µð·Î ¾ÆÆÄÆ®·Î ºñ±³ÇÏÀÚ¸é ¸îÈ£½ÇÀ» ã´ÂÁö¿Í °°´Ù. "405È£½Ç¸¦ û¼ÒÇضó!"¶ó´Â
¸í·ÉÀÌ ÀÖ´Ù¸é ±× ¾ÆÆÄÆ®ÀÇ "405È£½Ç"À» ã¾Æ°¡¼ °Å±â¸¸ û¼Ò¸¦ ÇÏ¸é µÈ´Ù. ±¸Áö ´Ù¸¥°÷µµ û¼ÒÇÒ ÇÊ¿ä°¡ ¾ø´Ù´Â °ÍÀÌ´Ù.
positionÀÇ À§Ä¡´Â 0 ºÎÅÍ ½ÃÀÛÇؼ -1±îÁö´Ù.
$("p").eq(1).css("color", "red"); // "p"ű׿¡¼ 1(0 ºÎÅÍ ½ÃÀÛÇϹǷΠµÎ¹ø°¸¦ ÀǹÌÇÑ´Ù.)¹øÁö¿¡ ÇØ´çÇÏ´Â "p"¸¦ º¯°æÇÑ´Ù.
5. get()
: ÇØ´ç ű×ÀÇ Elements µéÀ» ArrayÇüÅ·Π¸®ÅÏÇÑ´Ù. Áï, '$("div").get() ÇÏ¸é ¸ðµç divÅÂ±× µéÀ» Array ÇüÅ·Π¸®ÅÏÇÑ´Ù.'
ÇѸ¶µð·Î Çϸé DOMÀÇ Elements¸¦ ¹è¿·Î ¸®ÅÏÇÏ´Â °ÍÀÌ´Ù.
function disp(divs) {
var a = [];
for (var i = 0; i < divs.length; i++) {
a.push(divs[i].innerHTML);
}
$("span").text(a.join(" "));
}
disp( $("div").get().reverse() ); // divű×ÀÇ °ªµéÀ» ÀÐ¾î ¿Í¼ ±× °ªÀÇ ¼ø¼¸¦ µÚÁý´Â´Ù.
// ¿¹¸¦ µé¾î
// <div>1</div><div>2</div><div>3</div> ÀÌ ÀÖÀ¸¸é reverse() Çϸé 3, 2, 1·Î ¼ø¼°¡ µÚÁýÈ÷°Ô µÈ´Ù.
6. get( index )
: index¿¡ ÇØ´çµÇ´Â À§Ä¡ÀÇ elementÀ» °¡Á®¿Â´Ù. Áï, ´ÜÀÏ element¸¦ °¡Á® ¿À°Ô µÇ´Â °ÍÀÌ´Ù.
$("*", document.body).click(function (e) { // body¾ÈÀÇ ¸ðµç Elements¿¡¼ Ŭ¸¯ À̺¥Æ®°¡ ¹ß»ýµÇ¸é.
e.stopPropagation();
var domEl = $(this).get(0); // Ŭ¸¯µÈ ű×ÀÇ ElementsÁß 0¹øÁö¿¡ ÇØ´çÇÏ´Â Element¸¦ °¡Á®¿Â´Ù.
$("span:first").text("Clicked on - " + domEl.tagName); // 0¹øÁöÀÇ Å±×À̸§À» Ãâ·ÂÇÑ´Ù.
});
ÀÌÇØÇϴµ¥¿¡´Â ¾î·ÆÁö ¾ÊÀ» °ÍÀÌ´Ù. ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Ùº¸¸é À§¿Í ºñ½ÁÇÑ ÇÔ¼ö¸¦ ¸¹ÀÌ Á¢ÇØ º¸±â ¶§¹®ÀÌ´Ù.
7. index( subject )
: subjectÀÇ À妽º ¹øÈ£¸¦ ã´Â´Ù. À妽º ¹øÈ£µµ 0ºÎÅÍ ½ÃÀ۵ȴÙ.
$("div").click(function () {
// this is the dom element clicked
var index = $("div").index(this); // "div"ű׿¡¼ Ŭ¸¯À̺¥Æ®°¡ ¹ß»ý µÉ°æ¿ì ±× "div"ű×ÀÇ À妽º ã¾Æ¼ ¸®ÅÏÇÑ´Ù.
$("span").text("That was div index #" + index);
});
̵̧ : 696
̵̧
¸ñ·Ï