๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
jQuery

[JavaScript] jQuery(์ œ์ด์ฟผ๋ฆฌ) ์•Œ์•„๋ณด๊ธฐ

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 8. 30.
๋ฐ˜์‘ํ˜•

jQuery๋ž€?

HTML์˜ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์กฐ์ž‘์„ ๋‹จ์ˆœํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์˜ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์กด ๋ ˆ์‹์ด 2006๋…„ 8์›” 26์ผ, ๋‰ด์š• ์‹œ ๋ฐ”์บ ํ”„์—์„œ ์ตœ์ดˆ ๊ณต๊ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•๊ณผ ์„ ํƒ๋œ ์—˜๋ฆฌ๋จผํŠธ๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์ˆ˜๋‹จ ๋“ฑ์„ ์ œ๊ณตํ•˜์ฃ .


jQuery๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”?

01. ์–ด๋– ํ•œ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•œ๋‹ค.
02. ์ง๊ด€์ ์ด๊ณ  ํŽธ๋ฆฌํ•œ API๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
03. CSS ์Šคํƒ€์ผ์˜ selector๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•˜๋‹ค.
04. ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ(ex: Ajax, Animation ๋“ฑโ€ฆ) ํšจ๊ณผ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๋‹ค.
05. ๋‹ค์–‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์กด์žฌํ•˜๋ฉฐ ์ถฉ๋Œ ์œ„ํ—˜๋„ ์ ๋‹ค.

jQuery ์ ์šฉ ๋ฐฉ๋ฒ•

jQuery(์ดํ•˜ '์ œ์ด์ฟผ๋ฆฌ')๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ์ œ์ด์ฟผ๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
์ถ”๊ฐ€ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์Šคํฌ๋ฆฝํŠธ ์˜์—ญ์— ๋ณต์‚ฌ ํ›„ ๋ถ™์—ฌ ๋„ฃ์„ ๊ฒƒ.

<!-- ์ ์šฉ๋ฐฉ๋ฒ• 01 : API ์ง์ ‘ ๋‹ค์šด๋ฐ›์•„ ์‚ฌ์šฉํ•˜๊ธฐ -->
<script src="jquery-3.3.1.min.js"></script>
<!-- ์ ์šฉ๋ฐฉ๋ฒ• 02-1 : Google ์ œ๊ณต CDN ๋ฐฉ์‹ -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- ์ ์šฉ๋ฐฉ๋ฒ• 02-2 : CDN ๋ฐฉ์‹ -->
<!-- integrity์™€ crossorigin ๋“ฑ์€ ์Šคํฌ๋ฆฝํŠธ ํ•ดํ‚น ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ์†์„ฑ ์ •๋„๋กœ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๋จ -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js"integrity="sha256-FgpCb/KJQ1LNf0u91ta32o/NMZxltwRo8QtmkMRdAu8="crossorigin="anonymous"></script>
<!-- ์ ์šฉ๋ฐฉ๋ฒ• 03 : ์ œ์ด์ฟผ๋ฆฌ ๊ณต์‹์—์„œ ์ œ๊ณตํ•˜๋Š” ์ตœ์‹  ๋ฒ„์ „ -->
<script src="http://code.jquery.com/jquery-latest.js"></script>
์ด๊ณณ์—์„œ jQuery API 3.3.1 ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ €์žฅ ํ›„, ์ ์šฉ๋ฐฉ๋ฒ• 01๊ณผ ๊ฐ™์ด ์ ์–ด์ฃผ๋„๋ก ํ•œ๋‹ค.

jQuery์˜ ๋ฌธ๋ฒ•

์•„์ฃผ ๊ฐ„ํŽธํžˆ HTML์—์„œ์˜ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜์—ฌ ํ•ด๋‹น ์š”์†Œ์— ๋™์ž‘ ํ•จ์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. $๊ธฐํ˜ธ๊ฐ€ ์ œ์ด์ฟผ๋ฆฌ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ์ œ์ด์ฟผ๋ฆฌ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ด์ฃผ๋Š” ์‹๋ณ„์ž์ด๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ $(document).ready()๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ ready()๋Š” ์ œ์ด์ฟผ๋ฆฌ ์ด๋ฒคํŠธ๋กœ JS์˜ load ์ด๋ฒคํŠธ์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„๋‹ค. document, ready ์—†๋Š” ์•ฝ์‹(๏ฅถๅผ)์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ณดํŽธ์ ์ด๋‹ค.

// jQuery ๊ธฐ๋ณธ ํ˜•์‹
$(document).ready(function() {
    ์‹คํ–‰๋ฌธ;
});

// ์•ฝ์‹(๏ฅถๅผ) : document, ready ์ƒ๋žต ๊ฐ€๋Šฅ (โ˜… ๊ฐ€์žฅ ๋ณดํŽธ์  โ˜…)
$(function() {
    ์‹คํ–‰๋ฌธ;
});

jQuery ๋ณธ๊ฒฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

๋จผ์ € HTML ์˜์—ญ์—์„œ hello๋ผ๋Š” ํด๋ž˜์Šค ๊ฐ’์„ ๊ฐ€์ง„ div ์š”์†Œ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ, jQuery๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ์š”์†Œ์— ๋„ฃ์„ ๋ฌธ๊ตฌ์™€ CSS ์†์„ฑ ๋“ฑ์„ ์ง€์ •ํ•ด๋ด…์‹œ๋‹ค.

<html>
    <body>
        <div class="hello"></div>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script type="text/javascript">
            $('.hello').html('์•ˆ๋…•!').css('background-color','powderblue');
     </script>
    </body>
</html>
$('.hello').html('์•ˆ๋…•!').css('background-color','powderblue');
$('.์—ฐ๊ฒฐํ•  ์š”์†Œ์˜ ํด๋ž˜์Šค ๊ฐ’').html('์ถœ๋ ฅํ•  ๋ฌธ๊ตฌ')

CSS ์†์„ฑ์˜ ๊ฒฝ์šฐ 'background-color: powderblue;'๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด
.css('background-color', 'powderblue');
์ด๋Ÿฐ ์‹์œผ๋กœ ์ž…๋ ฅํ•ด์ฃผ๋„๋ก ํ•œ๋‹ค.
๊ฒฐ๊ณผ ๋ณด๊ธฐ

์•ˆ๋…•!

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.