- JavaScript ๊ธฐ๋ฐ์ ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
- JavaScript๋ฅผ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํด์ค๋ค.
- CDN ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ: ํ ์คํธ ์ฉ์ผ๋ก๋ง ์ฌ์ฉํ๋ค. ์ค๋ฌด์์๋ ๋ค์ด๋ก๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ค.
- ๋ค์ด๋ก๋ํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ๐ฉ BootStrap๊ณผ ๊ฐ์ด ์ฌ์ฉํ ๊ฒฝ์ฐ, BootStrap์์ ๊ฐ์ ธ์ค๋ script ํ๊ทธ์ jQuery๋ฅผ ๊ฐ์ ธ์ค๋ ์ฝ๋๊ฐ ์์ ์ ์์ผ๋ฏ๋ก, ์ค๋ณต๋์ง ์๊ฒ ์ฃผ์ํ๋ค.
- ๐ฉ head ํ๊ทธ ๋ด๋ถ์ ์ฝ์ ํ๋ ๊ฒฝ์ฐ, ํ์ด์ง ๋ด์ฉ์ด ๋ก๋ฉ๋๊ธฐ ์ ์ด๋ฏ๋ก ์ ์ ์๋ํ์ง ์์ ์ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก ready ์ด๋ฒคํธ์ ํจ๊ป ์ฌ์ฉํ๋ค.
- ๐ฉ body ํ๊ทธ ๋ด๋ถ์ ํ๋จ์ ์ฝ์ ํ๋ ๊ฒฝ์ฐ, ํ์ด์ง ๋ด์ฉ์ด ๋ก๋ฉ๋ ํ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ฏ๋ก ์ ์ ์๋ํ๋ค.
1) CDN ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
jQuery CDN ์ฌ์ดํธ์์ ์ฝ๋ ๋ณต์ฌ ํ ๋ถ์ฌ ๋ฃ์ด ์ฌ์ฉํ๋ค.
<script src="https://code.jquery.com/jquery-3.7.1.js" integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script>
2) ๋ค์ด๋ก๋ํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
jQuery ๋ค์ด๋ก๋ ์ฌ์ดํธ์์ JSํ์ผ์ ๋ฐ์ ํ ์ ์ฅํ์ฌ ์ฌ์ฉํ๋ค.
<script src="ํ์ผ ๊ฒฝ๋ก"></script>
- id๋ก ๊ฐ์ ธ์ค๊ธฐ
- class๋ก ๊ฐ์ ธ์ค๊ธฐ
- ํ๊ทธ ์ด๋ฆ๊ณผ name ์์ฑ์ผ๋ก Node ๊ฐ์ ธ์ค๊ธฐ
- check ๋ Node๋ง ๊ฐ์ ธ์ค๊ธฐ
<input type="checkbox" id="shiba" class="cat" name="animal" checked />
<input type="checkbox" id="bengal" class="cat" name="animal" />
1) id๋ก ๊ฐ์ ธ์ค๊ธฐ
$('#shiba')
2) class๋ก ๊ฐ์ ธ์ค๊ธฐ
$('.cat')
3) ํ๊ทธ ์ด๋ฆ๊ณผ name ์์ฑ์ผ๋ก Node ๊ฐ์ ธ์ค๊ธฐ
$('input[name="animal"]')
4) check ๋ Node๋ง ๊ฐ์ ธ์ค๊ธฐ
- ์ด๊ธฐ ์ํ๊ฐ checked์ธ ๋ ธ๋๋ค์ด ์๋, ํ์ฌ check ์ํ์ธ ๋ ธ๋๋ค์ ๊ฐ์ ธ์จ๋ค.
$('input[name="animal"]:checked')
1) ๋ฌธ์ ๋ก๋ฉ ์ด๋ฒคํธ
- head ํ๊ทธ ๋ด๋ถ์ jQuery script ํ๊ทธ๋ฅผ ์ฝ์ ํ๋ ๊ฒฝ์ฐ ํจ๊ป ์ฌ์ฉํ๋ค.
์ด๋ฒคํธ ์ข ๋ฅ | ์ค๋ช |
---|---|
ready | DOM tree๊ฐ ์์ฑ๋ ์ํ |
load | image๋ css๊ฐ ๋ชจ๋ load ๋ ์ํ(ready๋ณด๋ค ์ดํ ์์ ) |
error | ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ |
<head>
<script>
$(document).ready(function() {
// DOM tree ๊ตฌ์ฑ ์๋ฃ
// jQuery ์ฝ๋ ์์ฑ
});
</script>
</head>
2) ๋ง์ฐ์ค ๋์ ์ด๋ฒคํธ
- this๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ์์๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
์ด๋ฒคํธ ์ข ๋ฅ | ์ค๋ช |
---|---|
click | ์์๋ฅผ ํด๋ฆญํ์ ๋ |
dbclick | ์์๋ฅผ ๋๋ธํด๋ฆญํ์ ๋ |
mouseleave | ์์์์ ๋ง์ฐ์ค ํฌ์ธํฐ๋ฅผ ๋ฒ์ด๋ฌ์ ๋ |
hover | ์์์ ๋ง์ฐ์ค ํฌ์ธํฐ๋ฅผ ์ฌ๋ ธ์ ๋, ๋ฒ์ด๋ฌ์ ๋ |
scroll | ๊ฐ๋ก, ์ธ๋ก ์คํฌ๋กค๋ฐ๋ฅผ ์์ง์ผ ๋ |
keydown | ํค๋ณด๋์ ํค๋ฅผ ๋๋ฅผ ๋ |
keypress | ํค๋ณด๋์ ํค๋ฅผ ๋๋ฅผ ๋ (์์คํค ๋ฌธ์์๋ง ํด๋น) |
keyup | ํค๋ณด๋์ ํค๋ฅผ ๋๋ ๋ค ๋์ ๋ |
input | ์ ๋ ฅ ํ๋์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋ (ํ ์คํธ ์ ๋ ฅ, ์ฒดํฌ๋ฐ์ค ๋ฑ) |
$(selector).on('click', function() {
$(this).hide(); // this == selector
})
ํจ์๋ช | ์ค๋ช |
---|---|
val() | ์์์ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ |
val('text') | ์์ ์์ 'text' ๊ฐ ๋ฃ๊ธฐ |
text('text') | ํ๊ทธ ์ฌ์ด์ 'text' ๊ฐ ๋ฃ๊ธฐ |
show() | ์์๋ฅผ ๋ํ๋ธ๋ค. |
hide() | ์์๋ฅผ ์จ๊ธด๋ค. |
hasClass('ํด๋์ค๋ช ') | ์์์ ํด๋์ค๊ฐ ์๋์ง ํ์ธํ๋ค. |
addClass('ํด๋์ค๋ช ') | ์์์ ํด๋์ค๋ฅผ ์ถ๊ฐํ๋ค. |
removeClass('ํด๋์ค๋ช ') | ์์์ ํด๋์ค๋ฅผ ์ ๊ฑฐํ๋ค. |
css('์์ฑ๋ช ') | ์์์ css ์์ฑ๋ช ์ผ๋ก ์์ฑ๊ฐ์ ๊ฐ์ ธ์จ๋ค. |
css('์์ฑ๋ช ', '์์ฑ๊ฐ') | ์์์ css ์์ฑ๊ณผ ๊ฐ์ ์ธํ ํ๋ค. |
attr('์์ฑ๋ช ') | ์์ฑ๋ช ์ ํด๋นํ๋ ์์ฑ๊ฐ์ ๊ฐ์ ธ์จ๋ค. |
attr('์์ฑ๋ช ', '์์ฑ๊ฐ') | ํด๋น ์์ฑ๋ช
์ ์์ฑ๊ฐ์ ๋ถ์ฌํ๋ค. ex) $("a").attr("href", "http://google.com") => a ํ๊ทธ์ ๋งํฌ๋ฅผ google ์ฌ์ดํธ๋ก ์ค์ |
prop('ํ๋กํผํฐ๋ช ', boolean) | ํ๋กํผํฐ์ ๋ํ ์ค์ (checked, selected, disabled) ex) $("input").prop("checked", true); => input ํ๊ทธ์ ์ฒดํฌ๋ฅผ ์ค์ ํ๋ค. |
- HTML ํ๊ทธ์
data-*
๋ก ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๋ ฅํ ์ ์๋ค.data-*
๋ ๋ฐ๋์ ๋ชจ๋ ์๋ฌธ์๋ก ์์ฑํด์ผ ํ๋ค.- jQuery์์๋
.data("*")
๋ก ์ ๊ทผํ๋ค.
<div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'></div>
$( "div" ).data( "role" ) === "page";
$( "div" ).data( "lastValue" ) === 43;
$( "div" ).data( "hidden" ) === true;
$( "div" ).data( "options" ).name === "John";