JQuery

Jeanยท2025๋…„ 7์›” 22์ผ
0

ํ’€์Šคํƒ ๊ต์œก

๋ชฉ๋ก ๋ณด๊ธฐ
18/28

๐Ÿ“Œย  JQuery

๐Ÿงฉ jQuery๋ž€?

  • ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • DOM ํƒ์ƒ‰, ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ, Ajax ์š”์ฒญ ๋“ฑ ๋ณต์žกํ•œ ์ž‘์—…์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฒ˜๋ฆฌ

๐Ÿค”ย ํ”„๋ ˆ์ž„์›Œํฌ? ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ?

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๋„๊ตฌ
    (๊ฐœ๋ฐœ์ž๊ฐ€ ์ฃผ๋„์ ์œผ๋กœ ๊ฐœ๋ฐœ)
  • ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ์ฃผ๋„ํ•˜๊ณ  ๊ฐœ๋ฐœ ๋ฐฉ์‹์— ์ œ์•ฝ์„ ๋‘  (ex. Angular)
    (๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋งž์ถ”์–ด ๊ฐœ๋ฐœ)

๐Ÿ”ง ์ฃผ์š” ๊ธฐ๋Šฅ

  • DOM ์š”์†Œ ์ฐพ๊ธฐ ๋ฐ ํƒ์ƒ‰/์ˆ˜์ •
  • CSS ์…€๋ ‰ํ„ฐ ๊ธฐ๋ฐ˜ DOM ์กฐ์ž‘
  • ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ
  • ํŠน์ˆ˜ ํšจ๊ณผ ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜
  • Ajax ์š”์ฒญ ์ฒ˜๋ฆฌ
  • JSON ํŒŒ์‹ฑ
  • ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•œ ๊ธฐ๋Šฅ ํ™•์žฅ

๐Ÿ› ๏ธ jQuery ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐฉ์‹

jQuery(document).ready(fn);  // ๊ธด ๋ฐฉ์‹
$(document).ready(fn);       // ์ถ•์•ฝํ˜•

$('#my');           // id ์„ ํƒ์ž
$('#my > p');       // ์ž์‹ ์š”์†Œ ์„ ํƒ
$('<h1>ํ…Œ์ŠคํŠธ</h1>'); // ์ƒˆ๋กœ์šด ์š”์†Œ ์ƒ์„ฑ
$(function() { });   // ๋ฌธ์„œ ๋กœ๋”ฉ ์™„๋ฃŒ ์‹œ ์‹คํ–‰ (DOMContentLoaded)

๐Ÿ” Getter / Setter ๋ฉ”์„œ๋“œ

  • Getter: ๊ฐ’ ์–ป๊ธฐ
  • Setter: ๊ฐ’ ์„ค์ •ํ•˜๊ธฐ
๋ฉ”์„œ๋“œ์„ค๋ช…
val() , val(๊ฐ’)<input> ์š”์†Œ์˜ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ/์„ค์ •ํ•˜๊ธฐ
html() , html(๊ฐ’)์š”์†Œ ๋‚ด๋ถ€ HTML ๊ฐ€์ ธ์˜ค๊ธฐ/์„ค์ •ํ•˜๊ธฐ
text() , text(๊ฐ’)์š”์†Œ ๋‚ด๋ถ€ ํ…์ŠคํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ/์„ค์ •ํ•˜๊ธฐ
// Getter
const value = $('#input').val();

// Setter
$('#input').val('Hello');

๐ŸŽจ ์Šคํƒ€์ผ ๋ฐ ์†์„ฑ ์กฐ์ž‘

โœ… css()

$('#box').css('color');                      // ๊ฐ’ ์–ป๊ธฐ
$('#box').css('color', 'red');              // ๊ฐ’ ์„ค์ •
$('#box').css('color', i => i % 2 ? 'blue' : 'green'); // ํ•จ์ˆ˜๋กœ ์„ค์ •
$('#box').css({ color: 'blue', fontSize: '20px' }); // ์—ฌ๋Ÿฌ ๊ฐœ ์„ค์ •

โœ… attr()

  • HTML ์†์„ฑ ์ œ์–ด
$('img').attr('src');                         // ๊ฐ’ ์–ป๊ธฐ
$('img').attr('src', 'img.jpg');              // ๊ฐ’ ์„ค์ •
$('img').attr({ alt: '์„ค๋ช…', title: 'ํƒ€์ดํ‹€' }); // ์—ฌ๋Ÿฌ ๊ฐœ ์„ค์ •

๐Ÿ” ๋ฐ˜๋ณต

โœ… jQuery.each(๋ฐฐ์—ด, ํ•จ์ˆ˜)

$.each([1, 2, 3], function(index, value) {
  console.log(index, value);
}

โœ… .each(ํ•จ์ˆ˜)

  • jQuery ๊ฐ์ฒด ์ž์ฒด๋ฅผ ์ˆœํšŒ
$('li').each(function(index, element) {
  console.log(index, $(element).text());
});

๐Ÿ”— ์ฒด์ด๋‹ ๋ฐฉ์‹

  • ๋Œ€๋ถ€๋ถ„ jQuery ๋ฉ”์„œ๋“œ๋Š” jQuery ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜
  • ์ฒด์ด๋‹์ด ๊ฐ€๋Šฅํ•ด์„œ ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง
$('#myBox')
  .css('color', 'blue')
  .text('์•ˆ๋…•')
  .fadeIn();

๐ŸŽฏ ์ด๋ฒคํŠธ ๋ฐ”์ธ๋”ฉ

โœ… on() ์‚ฌ์šฉ (์ด๋ฒคํŠธ ๋“ฑ๋ก)

// ๋‹จ์ผ ์ด๋ฒคํŠธ
$('#btn').on('click', function() {
  alert('clicked!');
});

// ๋‹ค์ค‘ ์ด๋ฒคํŠธ
$('#btn').on({
  click: function() { console.log('ํด๋ฆญ๋จ'); },
  mouseenter: function() { console.log('๋งˆ์šฐ์Šค ์ง„์ž…'); }
});

โœ… ์ถ•์•ฝํ˜• ๋ฉ”์„œ๋“œ (์ „์šฉ ๋ฉ”์„œ๋“œ)

$('#btn').click(function() {
  console.log('ํด๋ฆญ!');
});

$('#input').focus(function() {
  console.log('ํฌ์ปค์Šค ๋จ');
});
profile
ํ–‡๋‚ด๊ธฐ ๊ฐœ๋ฐœ์ž ์ง€๋ง์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€