Skip to content

javascript_jquery_basic_4_1

KyusungDev edited this page May 19, 2017 · 12 revisions

jQuery ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ์ž‘

jQuery ํ™•์žฅ ์†Œ๊ฐœ

jQuery๊ฐ€ ๊ฐ€์ง„ ๊ธฐ๋Šฅ ์ด์™ธ์— ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•

jQuery ํ™•์žฅ ์š”์†Œ์˜ ์ข…๋ฅ˜

  1. ์œ ํ‹ธ๋ฆฌํ‹ฐ
    ์ฝ”๋”ฉ์— ๋„์›€์„ ์ฃผ๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์˜๋ฏธํ•œ๋‹ค.
    ์‚ฌ์šฉ๋ฒ•์€ ์ฃผ๋กœ jQuery ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด jQuery ํด๋ž˜์Šค์— ์ง์ ‘ ์ ‘๊ทผํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.
jQuery.์œ ํ‹ธ๋ฆฌํ‹ฐ();

$.์œ ํ‹ธ๋ฆฌํ‹ฐ();
  1. ํ”Œ๋Ÿฌ๊ทธ์ธ
    ๋…ธ๋“œ๋ฅผ ๋‹ค๋ฃจ๋Š” ํŠน์ • ๊ธฐ๋Šฅ์„ ์žฌ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํฌ์žฅ ๊ธฐ๋Šฅ์ด๋‹ค.
    ์‚ฌ์šฉ๋ฒ•์€ ์ฃผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด jQuery ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ํ›„์— ์‚ฌ์šฉํ•œ๋‹ค.
$("์„ ํƒ์ž").ํ”Œ๋Ÿฌ๊ทธ์ธ(์˜ต์…˜);

var $๊ฒฐ๊ณผ = $("์„ ํƒ์ž");
$๊ฒฐ๊ณผ.ํ”Œ๋Ÿฌ๊ทธ์ธ(์˜ต์…˜);

jQuery ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋งŒ๋“ค๊ธฐ

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ

jQuery Utilities
jQuery Utilities (Tutorialspoint)

jQuery ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งŒ๋“ค๊ธฐ

ํŠน์ • ๊ธฐ๋Šฅ์„ ์žฌ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํฌ์žฅ ๊ธฐ๋Šฅ์ด๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ตฌ์กฐ

(function($) {
    $.fn.ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋ฆ„ = function(์†์„ฑ ๊ฐ’) {
        this.each(function(index) {

        }
        return this;
    }
})(jQuery)

jQuery ํ”Œ๋Ÿฌ๊ทธ์ธ์€ jQuery ํด๋ž˜์Šค์˜ fn์ด๋ž€ ๊ณณ์— ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ ๋‹ค.
์—ฌ๊ธฐ์„œ fn์€ prototype์„ ์ค„์—ฌ ์“ด ๋‹‰๋„ค์ž„์ผ ๋ฟ์ด๋‹ค.
jQuery ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋ชจ๋‘ jQuery์˜ ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ์ผ ๋ฟ์ด๋‹ค.

์‹ค์Šต

์‚ฌ์šฉ์ž ์ •์˜ jQuery ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งŒ๋“ค๊ธฐ

์‹ค์Šต
each ์‹ค์Šต
accordion ์‹ค์Šต

find, filter, children

  • find : ๊ฒ€์ƒ‰๋œ ๊ฒฐ๊ณผ ๊ฐ์ฒด ์ง‘ํ•ฉ์˜ ๋ชจ๋“  ํ•˜์œ„๋ ˆ๋ฒจ(์ž์‹)์„ ๊ฒ€์ƒ‰ ํ• ๋•Œ ์‚ฌ์šฉ ํ•ฉ๋‹ˆ๋‹ค.
    • ("A").find("B") : A ํ•˜์œ„์—์„œ B๋ฅผ ์ฐพ์Œ
  • filter : ๊ฒ€์ƒ‰๋œ ๊ฒฐ๊ณผ ๊ฐ์ฒด ์ง‘ํ•ฉ์—์„œ ํŠน์ • ์ง‘ํ•ฉ์œผ๋กœ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ฒ€์ƒ‰ ํ• ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ("A").filter("B") : A ๋‚ด์—์„œ B๋ฅผ ์ฐพ์Œ
  • children : ๊ฒ€์ƒ‰๋œ ๊ฒฐ๊ณผ ๊ฐ์ฒด ์ง‘ํ•ฉ ์ง์† ํ•˜์œ„๋ ˆ๋ฒจ(์ž์‹)์„ ๊ฒ€์ƒ‰ ํ• ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ("A").chlidren() : A ํ•˜์œ„์˜ ์š”์†Œ๋“ค

find, filter, children

extend() ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์˜ต์…˜ ์ฒ˜๋ฆฌ

๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ

var a = {opt1: 1, opt2: 1};
var b = {opt1: 2, opt3: 2};
var c = {opt1: 3};
var r = jQuery.extend(a, b, c);

console.log("A: opt1=" + a.opt1 + " opt2=" + a.opt2 + " opt3=" + a.opt3);
console.log("B: opt1=" + b.opt1 + " opt2=" + b.opt2 + " opt3=" + b.opt3);
console.log("C: opt1=" + c.opt1 + " opt2=" + c.opt2 + " opt3=" + c.opt3);

console.log("R: opt1=" + r.opt1 + " opt2=" + r.opt2 + " opt3=" + r.opt3);
console.log("A === R?: " + (a === r));
"A: opt1=3 opt2=1 opt3=2"
"B: opt1=2 opt2=undefined opt3=2"
"C: opt1=3 opt2=undefined opt3=undefined"

"R: opt1=3 opt2=1 opt3=2"
"A === R?: true"
  1. ์ฒซ๋ฒˆ์งธ ๊ฐ์ฒด์— ๋‘๋ฒˆ์งธ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋งŒ์•ฝ, ์†์„ฑ์ด ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ๋ฎ์–ด์“ด๋‹ค.
  2. ์ฒซ๋ฒˆ์งธ ๊ฐ์ฒด์— ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ์ „๋‹ฌ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ์ฒด ๊ฐœ์ˆ˜ ๋งŒํผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.
  3. ์ฒซ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๊ธฐ๋ณธ ์˜ต์…˜ ์ฒ˜๋ฆฌ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋จ

// ๊ธฐ๋ณธ ์˜ต์…˜ ์ฒ˜๋ฆฌ
function foo(userOptions) {
  var defaultOptions = {
    foo: 2,
    bar: 2
  };
  var allOptions = jQuery.extend(
    defaultOptions,
    userOptions
  );
  doSomething(allOptions);
}
foo({foo:1}); // allOption === {foo:1, bar:2}
foo({foo:1, baz:1}); // allOption === {foo:1, bar:2, baz:1}

์ฒซ๋ฒˆ์งธ ๊ฐ์ฒด๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐ

var a = {foo: "1", bar: "2"};
var b = {foo: "2", baz: "3"};
var c = jQuery.extend({}, a, b);

console.log(c === a); // false
console.log(c); // opt1: "2", opt2: "2", opt3: "3" 

๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํ•œ๊ฐœ์ธ ๊ฒฝ์šฐ
jQuery.extend()์— ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํ•œ๊ฐœ์ธ ๊ฒฝ์šฐ jQuery ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ์ˆ˜์ •๋  ๊ฐ์ฒด๋กœ ๋œ๋‹ค.

console.log( "Before: " + jQuery.foo );
jQuery.extend({foo:1});
console.log( "After: " + jQuery.foo );

// Before: undefined
// After: 1

How does extend() work in jQuery?

Clone this wiki locally