Hello creators ๐
2-3_JQuery ๋ค๋ค๋ณด๊ธฐ ๋ณธ๋ฌธ
2-3_JQuery ๋ค๋ค๋ณด๊ธฐ
๋ถ์๋งค๋_HA 2023. 10. 2. 09:02โ . ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal)
1. ํ๊ณ ์ ํ๋ ๊ฒ
- jQuery ==์์ฃผ ์ฐ๋ ๊ฒ== ํ์ต
- input ๋ฐ์ค์ ๊ฐ์ ๊ฐ์ ธ์๋ณด๊ธฐ
- div ๋ณด์ด๊ธฐ / ์จ๊ธฐ๊ธฐ
- ํ๊ทธ ๋ด html ์ ๋ ฅํ๊ธฐ
โ ก. input ๋ฐ์ค์ ๊ฐ์ ๊ฐ์ ธ์๋ณด๊ธฐ
1. ๋ญ ํ๊ฑฐ์ผ?
- input box ์ ์๋ URL ๊ฐ ๊ฐ์ ธ์ค๊ธฐ ๋๋ ์ ๋ ฅํ๊ธฐ
2. ์ด๋ป๊ฒ ์ ๊ทผํ ๊ฑฐ์ผ?
- URL ๊ฐ ์ ๊ฐ์ ธ์ค๋ ค๋ฉด -> URL ์ '์ง์นญ' ํ ์ ์์ด์ผ ํจ.
- '์ง์นญ' = ์ด๋ฆํ, ์งฑ๊ตฌ์ ๋ฐ์ง์์ ์งฑ๊ตฌ!
- =='CSS== ์์ ์ง์นญ' ์ =='Class'== ๋ก ํ์
- ==jQuery== ์์๋ =='id'== ๋ก ์ง์นญ ํจ โญโญโญโญโญ
- ์ํ URL ๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด ID ๋ฅผ
url
๋ก ์ค์ - ๊ทผ๋ฐ ๊ถ๊ธํ๊ฑด, ์ input ํ๊ทธ์ ํ์ง? ์ค์ ๋ก url ์ label ํ๊ทธ์ ๊ธฐ์
ํ๋๋ฐโโโโโ
- ์ด๊ฑด ๋ค์์๋ cards-box ์์ div ์ ํ๋ ๊ฒ ๊ฐ์
- ๊ฐ์ธ์๊ณ ์๋๊ฑฐ์ id ๋ถ์ด๋ ๊ฑด๊ฐ?
- script ํ๊ทธ ๋ด์ ๋ด์ฉ์ ์ด์ console ์ฐฝ์ ์ฐ๊ฒ ์ #jquery_๊ฐ๋ฃ๊ธฐ
$('url').val('์ธ๋๋ผ.co.kr') // url ์ด๋ผ๋ id์ '์ธ๋๋ผ.co.kr' ๋ฅผ ์
๋ ฅํ๊ณ ์ถ์ผ๋ฉด, ์ด๋ ๊ฒ ์์ฑ -> enter ๋ฅผ ์น๋ฉด ํ ๋ค์ด๊ฐ๊ฒ ๋จ
- ํด์ํ๊ธฐ
$('url')
: id ๊ฐ url ์ธ ๊ณณ์ jQuery ๋ฅผ ๋จน์ผ๊ฑฐ์ผ. ๋ญ ๋จน์ผ๊ฑฐ์ผ? .val('์
๋ ฅ์ ํ๊ณ ์ถ๋ค')
: ๊ฑ ํํ
value ๋ฅผ ๋ฃ์๊ฑฐ์ผ. ์ด๋ค value? '์
๋ ฅ์ ํ๊ณ ์ถ๋ค.'
๊ทธ๋ฌ๋ฉด, ์ด๋ค output? : ==ํด๋น id== ์ '์
๋ ฅ์ ํ๊ณ ์ถ๋ค.' ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ค.
1) ์์
a. ์ด ํ๊ธธ๋ ์ ๊ฐ์ ธ์ค๊ณ ์ถ์ผ๋ฉด?
- ์ด๋ ๊ฒ ์์ฑ
b. ์ ๋ฆฌํ๋ฉด โญโญโญโญโญ #jquery_๊ฐ๋ฃ๊ธฐ_์์์ฝ๋ #jquery_๊ฐ๊ฐ์ ธ์ค๊ธฐ_์์์ฝ๋
$('#url').val('ํ๊ธธ๋์ ๋ ฅ')
์ ๋ ฅํ๋ฉด -> ์ํ๋ ๊ฐ์ ๋ฃ์ ์ ์์$('#url').val()
-> ํด๋น ๋ถ๋ถ์์ ๊ฐ์ ์ถ์ถ ํ ์ ์์.- ์ค์ ์ฐฝ์์ ์
๋ ฅ์ ํด๋ -> ๊ฐ์ด ์ฆ๊ฐ ๋ฐ์๋์ด์ ->
$('#url').val()
๋ก ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์์.
โ ข. ๋ฐ์ค๋ฅผ ๊ฐ์ท๋ค๊ฐ, ๋ํ๋๊ฒ ํ๊ธฐ
1. ๊ฐ์ถ๊ณ ์ถ์ '๋ฐ์ค' ์ ==์ด๋ฆํ== ๋ถ์ด๊ธฐ
์ฌ๊ธฐ์์๋ ๊ฐ์ถ๊ณ ์ถ์๊ฒ post ๋ฐ์ค ์. ๊ทธ๋์ ๊ทธ๊ณณ์ id ๋ฅผ ๋ถ์.
2. jQuery ์์ฑ
$('#post-box').hide()
- ์ฝ์ด๋ณด๊ธฐ
$
: jQuery ๋ฅผ ๋จน์ผ๊ฑฐ์ผ. โโโ ๋ง๋? ์ด๋์?'#post-box'
: ๋ผ๋ id ์ ๋จน์ผ๊ฑฐ์ผ. ๊ฑฐ๊ธฐ์ ๋ํด์ '๋ญ ํ ๊ฑด๋ฐ?' (ํจ์ ๋๋)hide()
: ์ ๋ณด์ด๊ฒ ํ ๊ฑฐ์ผ.
- ๋ค์ ๋ณด์ด๊ฒ ํ๋ ค๋ฉด?
$('#post-box').show()
3. ๊ฒฐ๊ณผ๋ฌผ
- ๋ ์ฉ~ ๊ทธ๋ฌ๋ฉด box ๊ฐ ์ด๋ ๊ฒ ์ฌ๋ผ์ง
- show() ํ๋ฉด ๋ค์ ๋ณด์ฌ์ง
โ ฃ. ์นด๋๋ค์ด ๋ค๋ค๋ฅ ๋ถ์ด ๋์ค๊ฒ ํ๊ธฐ
1. '์ด๋ฆํ' ๋ถ์ด๊ธฐ
1) ์ด๋์ ๋ถ์ฌ์ผ ๋๋์ง ํ์ ํ๋ ๊ณผ์ โญโญโญโญโญ #id๋ถ์ผ๋์์parent์๋ถ์ด๋๊ฒฝ์ฐ
- class = col ์ ์ถ๊ฐํ๋ฉด -> ์นด๋๊ฐ ๋ ์๊น -> so, class = col ์ ์ถ๊ฐํ๊ณ ์ถ์.
- ๊ทธ๋ฌ๋ฉด, ๊ทธ๊ฒ ์ด๋ค div ํ๊ทธ ์์ ๋ค์ด๊ฐ ์์ด? ํฌํจํ๊ณ ์๋ ๋์ด ๋ญ์ผ? ์ฌ๊ธฐ ์์ ์๋ค
- ์์ div ์ด๊ณ , card ๋ค์ ํฌ๊ดํ๋๊น > cards-box ๋ผ๊ณ ํ์
- ๊ถ๊ธํ ์
- ์ฌ๊ธฐ์์ ์ข ๋ ๊ฐ๋ ์ ์ธ ์ค๋ช ์ด ์์ผ๋ฉด -> ๋ ํผ์ ์ด๋ฆํ ๋ถ์ผ ๋, ์ข ๋ ์ ๋ถ์ผ ์ ์์ ๊ฒ ๊ฐ์ โญโญโญโญโญโญโญ
2. 'html' ๋ก ํ์ฉํ ๋ฌธ์์ด์ ๋ณ์์ ์ ์ฅํจ
let temp_html = `<button> ๋๋ ๋ฒํผ์ด๋ค </button>`
- ํด์ํ๊ธฐ
let temp_html
: temp_html ์ด๋ผ๋ ๋ณ์์ ๋ญ๊ฐ๋ฅผ ์ ์ฅํ ๊ฑฐ์ผ.๋ฐฑํฑ
: ๋ค์ด๊ฐ๋๊ฒ 1) ๋ฌธ์์ด ์ด๊ธดํ๋ฐ, ์๋ฒฝํ๊ฒ ๋ฌธ์์ด์ ์๋๊ณ 2) html ๋ฌธ๋ฒ์ ํ๊ณ ์๋ค๊ณ ์๋ ค์ค๋ค. (๋ง๋โโโโโโโโโโโ)<button> ๋๋ ๋ฒํผ์ด๋ค </button>
: ๋ค์ด๊ฐ๋๊ฒ html ๋ฌธ๋ฒ์ผ๋ก button ์ด ๋ค์ด๊ฐ๋ค.
โญ ์ฌ๊ธฐ์๋ค๊ฐ, jQuery ๋ฅผ ์ฐ๋ฉด -> ์ ์ ๋งคํ ๋ฌธ์์ด์ด HTML ์ด ๋๋ค.
๐คทโโ๏ธ ๊ทธ๋ผ, ์ด๋ค jQuery ๋ฅผ ์จ์ผ ํด?
3. jQuery ์ ๋ ฅํด์ ์ง์ง html ๋ก ๋ง๋ค๊ธฐ
๐ ์ด๋ ๊ฒ ํ๋ฉด ๋ผ. #jquery_append_์ถ๊ฐ๋ก๋ถ์ด๊ธฐ_์์์ฝ๋
let temp_html = `<button> ๋๋ ๋ฒํผ์ด๋ค </button>`
$('#cards-box').append(temp_html)
- ์ฝ์ด๋ณด๋ฉด
1 line
: 1) html ๋ฌธ๋ฒ์ ์ด 2) ๋ถ์์ ํ ๋ฌธ์์ด์ ๋ณ์์ ์ ์ธํจ
2 line
: id #cards-box
๋ผ๋ ๊ณณ์ jQuery ๋ฅผ ๋จน์ผ๊ฑฐ์ผ > ๋ญ ๋จน์ผ๊ฑด๋ฐ? > append ๋ผ๋ ๊ฑธ > append ๋ ๋ถ์์ ํ html ๋ฅผ ๋ฃ์์ ๋, ์์ ํ html ๊ธฐ๋ฅ์ ํ๊ฒ ํด์ฃผ๋๊ฑฐ์ผ > ๊ทธ๋ฌ๋ฉด, ์ด๋ค html ๊ธฐ๋ฅ์ ๋ฃ์๊ฑด๋ฐ? button ๊ธฐ๋ฅ์ ๋ฃ์๊ฑฐ์ผ
๐ ๊ทธ๋ฌ๋ฉด ๊ฒฐ๊ตญ, ==button ๊ธฐ๋ฅ์ด id #cards-box
์ ์ถ๊ฐ๋๋๊ตฌ๋!==
4. ๊ฒฐ๊ณผ๋ฌผ
5. ๋ง์ฝ, ๋ฒํผ ๋์ ์ card ๋ฅผ ๋ง๋๋ html ์ด ๋ค์ด๊ฐ๋ค๋ฉด?
1) card ๋ฅผ ๋ง๋๋ html ๊ฐ์ ธ์ค๊ธฐ
<div class="col">
<div class="card">
<!-- ํฌ์คํฐ ์ด๋ฏธ์ง ๋ฃ์ด์ฃผ๊ธฐ โญโญโญ -->
<img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">์ฌ๊ธฐ์ ์ ๋ชฉ์ด ๋ค์ด๊ฐ๋๋ค! </h5>
<p class="card-text">์ฌ๊ธฐ์๋ ๋ด์ฉ์ด ๋ค์ด๊ฐ์ง์. ํจ์. ์จ๋์ด๊ฐ ์ปจ๋์
์ด ์ ์ข์ง๋ง ํด๋๊ฑฐ์ ๐โโ๏ธ </p>
<!-- ๋ณํ ์์ญ -->
<p> โญโญโญ </p>
<!-- ์ฝ๋ฉํธ ์์ญ -->
<p class="mycomment"> ์ฌ๊ธฐ์ ์ฝ๋ฉํธ๊ฐ ๋ค์ด๊ฐ๋๋ค. </p>
</div>
</div>
</div>
2) let temp_html
๋ณ์์ ๋ฃ์ด์ฃผ๊ธฐ
let temp_html = `<div class="col">
<div class="card">
<!-- ํฌ์คํฐ ์ด๋ฏธ์ง ๋ฃ์ด์ฃผ๊ธฐ โญโญโญ -->
<img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">์ฌ๊ธฐ์ ์ ๋ชฉ์ด ๋ค์ด๊ฐ๋๋ค! </h5>
<p class="card-text">์ฌ๊ธฐ์๋ ๋ด์ฉ์ด ๋ค์ด๊ฐ์ง์. ํจ์. ์จ๋์ด๊ฐ ์ปจ๋์
์ด ์ ์ข์ง๋ง ํด๋๊ฑฐ์ ๐โโ๏ธ </p>
<!-- ๋ณํ ์์ญ -->
<p> โญโญโญ </p>
<!-- ์ฝ๋ฉํธ ์์ญ -->
<p class="mycomment"> ์ฌ๊ธฐ์ ์ฝ๋ฉํธ๊ฐ ๋ค์ด๊ฐ๋๋ค. </p>
</div>
</div>
</div>`
3) ํด๋น id ์ jQuery ๋จน์ด๊ธฐ
$('#cards-box').append(temp_html)
4) ๊ฒฐ๊ณผ๋ฌผ
โ ค. ์ ๋ชฉ์ ๋ง๋ ๋ณ์๋ฅผ ๊ฝ์์ ์ฐ๊ธฐ
1. ๋ง๋ค๊ณ ์ถ์ ์ ๋ชฉ ์ ์ธ
let mytitle = 'ํ์ดํ๋'
2. temp ๋ณ์ ์ ์ธํ ๋ > ์ ๋ชฉ์ ${mytitle}
๋ฃ๊ธฐ
#jquery_๋ณ์ํ์ฉ๊ฝ์์ฃผ๊ธฐ_์์์ฝ๋
let temp_html = `<div class="col">
<div class="card">
<!-- ํฌ์คํฐ ์ด๋ฏธ์ง ๋ฃ์ด์ฃผ๊ธฐ โญโญโญ -->
<img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title"> ${mytitle} </h5> <!-- โญโญโญโญโญ -->
<p class="card-text">์ฌ๊ธฐ์๋ ๋ด์ฉ์ด ๋ค์ด๊ฐ์ง์. ํจ์. ์จ๋์ด๊ฐ ์ปจ๋์
์ด ์ ์ข์ง๋ง ํด๋๊ฑฐ์ ๐โโ๏ธ </p>
<!-- ๋ณํ ์์ญ -->
<p> โญโญโญ </p>
<!-- ์ฝ๋ฉํธ ์์ญ -->
<p class="mycomment"> ์ฌ๊ธฐ์ ์ฝ๋ฉํธ๊ฐ ๋ค์ด๊ฐ๋๋ค. </p>
</div>
</div>
</div>`
3. ๊ฒฐ๊ณผ๋ฌผ~
๐ญ What i learned
'์์ฃผ ์ฐ๋ ๊ฒ' ๋ถํฐ ํ์ต ํ๋๊ฒ ์ค์ํ๋ค โญโญโญ
jQuery ๋ 'id' ๋ก ์ฐ์ด์ค๋ค.
'id' ๋ฅผ ์ฐ์ ๋ '์์ div' ๊ฐ์ด '์์ ๊ฐ๋ ' ์ ๊ฑด๋๋ฆฌ๋ ๊ฒ ๊ฐ๋ค.
'์ฐ์ด์ค ๊ฒ' ์ ๋ํด์ hide(), append() ๊ฐ์ ๊ฑธ ๋จน์ธ๋ค.
html ๋ฌธ๋ฒ์ ๋ฌธ์์ด ์์ผ์ ๋ณ์์ ๋ฃ๊ณ -> append() ๋ฅผ ์ฐ๋ฉด -> html ์ด ์ถ๊ฐ๋๋ ๊ตฌ๋. ์์ง ๋ฏ์ค์ง๋ง ์ ๊ธฐํ๋ค.
jQuery ์ output ์ ์๊ฐํ ๋๋ =='ํด๋น id์ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ค์ด๊ฐ๋ค.'== ๋ผ๊ณ ์๊ฐํด์ผ ํจ.
'[WEB & AI] (feat. ์ทจ์ค) > ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ_์น๊ฐ๋ฐ์ข ํฉ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2-5_Quiz_JQuery ์ฐ์ตํ๊ธฐ (0) | 2023.10.05 |
---|---|
2-4_JQuery ์ ์ฉํ๊ธฐ(ํฌ์คํ ๋ฐ์ค) (0) | 2023.10.05 |
2-2_JQuery ์์ํ๊ธฐ (0) | 2023.10.02 |
2-1_2์ฃผ์ฐจ ์ค๋ ๋ฐฐ์ธ ๊ฒ (0) | 2023.10.02 |
1-16_1์ฃผ์ฐจ ๋ & ์์ ์ค๋ช (0) | 2023.10.02 |