๋ฐ˜์‘ํ˜•
250x250
Recent Posts
ยซ   2024/12   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Hello creators ๐Ÿ™Œ

2-3_JQuery ๋‹ค๋ค„๋ณด๊ธฐ ๋ณธ๋ฌธ

[WEB & AI] (feat. ์ทจ์ค€)/์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ_์›น๊ฐœ๋ฐœ์ข…ํ•ฉ๋ฐ˜

2-3_JQuery ๋‹ค๋ค„๋ณด๊ธฐ

๋ถ€์‹œ๋งค๋‚˜_HA 2023. 10. 2. 09:02
728x90
๋ฐ˜์‘ํ˜•

โ… . ์ด๋ฒˆ ํšŒ์ฐจ ํ•™์Šต ๋ชฉํ‘œ (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. ์ด ํ™๊ธธ๋™ ์„ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์œผ๋ฉด? 500


  • ์ด๋ ‡๊ฒŒ ์ž‘์„ฑ


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์—๋ถ™์ด๋Š”๊ฒฝ์šฐ

  1. class = col ์„ ์ถ”๊ฐ€ํ•˜๋ฉด -> ์นด๋“œ๊ฐ€ ๋” ์ƒ๊น€ -> so, class = col ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Œ.
  2. ๊ทธ๋Ÿฌ๋ฉด, ๊ทธ๊ฒŒ ์–ด๋–ค div ํƒœ๊ทธ ์•ˆ์— ๋“ค์–ด๊ฐ€ ์žˆ์–ด? ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๋†ˆ์ด ๋ญ์•ผ? ์—ฌ๊ธฐ ์œ„์— ์žˆ๋„ค
  3. ์ƒ์œ„ 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์— ๊ฒฐ๊ณผ๋ฌผ์ด ๋“ค์–ด๊ฐ„๋‹ค.'== ๋ผ๊ณ  ์ƒ๊ฐํ•ด์•ผ ํ•จ.

728x90
๋ฐ˜์‘ํ˜•
Comments