์กฐ์•„๋งˆ์‹œ

์“ธ๋ชจ ์žˆ๋Š” ์ƒ์„ธํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

์›น๊ฐœ๋ฐœ/javascript

[jQuery] DOM์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€

joamashi 2025. 2. 12. 12:29

๐Ÿ“Œ append() ๋ง๊ณ  ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์š”์†Œ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

append() ์™ธ์—๋„ jQuery์—๋Š” ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋ฉด ์„ฑ๋Šฅ ์ตœ์ ํ™”๋‚˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ”น ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ฃผ์š” jQuery ๋ฉ”์„œ๋“œ ๋น„๊ต

๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ ์œ„์น˜ ๊ธฐ์กด ์š”์†Œ ์œ ์ง€ ์—ฌ๋ถ€ ์„ค๋ช…

append() ๋‚ด๋ถ€ ๋งˆ์ง€๋ง‰ ์œ ์ง€ ๋ถ€๋ชจ ์š”์†Œ์˜ ๋งˆ์ง€๋ง‰ ์ž์‹ ์š”์†Œ๋กœ ์ถ”๊ฐ€
prepend() ๋‚ด๋ถ€ ์ฒซ ๋ฒˆ์งธ ์œ ์ง€ ๋ถ€๋ชจ ์š”์†Œ์˜ ์ฒซ ๋ฒˆ์งธ ์ž์‹ ์š”์†Œ๋กœ ์ถ”๊ฐ€
after() ์™ธ๋ถ€ ๋’ค ์œ ์ง€ ์„ ํƒํ•œ ์š”์†Œ ๋‹ค์Œ ํ˜•์ œ๋กœ ์ถ”๊ฐ€
before() ์™ธ๋ถ€ ์•ž ์œ ์ง€ ์„ ํƒํ•œ ์š”์†Œ ์ด์ „ ํ˜•์ œ๋กœ ์ถ”๊ฐ€
html() ๋‚ด๋ถ€ ๋ณ€๊ฒฝ ์‚ญ์ œ๋จ ๊ธฐ์กด ์š”์†Œ๋ฅผ ๋ชจ๋‘ ์ง€์šฐ๊ณ  ์ƒˆ๋กœ์šด ๋‚ด์šฉ ์ถ”๊ฐ€
replaceWith() ์™ธ๋ถ€ ๋ณ€๊ฒฝ ์‚ญ์ œ๋จ ์„ ํƒํ•œ ์š”์†Œ๋ฅผ ์™„์ „ํžˆ ๋Œ€์ฒด
clone() - ์œ ์ง€ ์š”์†Œ๋ฅผ ๋ณต์ œํ•˜์—ฌ ์ถ”๊ฐ€

๐Ÿ”น append() ๋Œ€์ฒด ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•๋“ค

โœ… 1. prepend() – ๋‚ด๋ถ€ ์•ž์— ์ถ”๊ฐ€

$("#container").prepend('<div class="new-item">์ƒˆ๋กœ์šด ์š”์†Œ (๋งจ ์•ž)</div>');

๐Ÿ”น prepend()๋Š” ๋ถ€๋ชจ ์š”์†Œ ๋‚ด๋ถ€์˜ ์ฒซ ๋ฒˆ์งธ ์ž์‹ ์š”์†Œ๋กœ ์ถ”๊ฐ€.


โœ… 2. after() – ์š”์†Œ ๋’ค์— ์ถ”๊ฐ€

$("#targetElement").after('<div class="new-item">์ด ์š”์†Œ ๋’ค์— ์ถ”๊ฐ€๋จ</div>');

๐Ÿ”น after()๋Š” ์„ ํƒํ•œ ์š”์†Œ ๋ฐ”๋กœ ๋’ค์— ํ˜•์ œ๋กœ ์ถ”๊ฐ€.


โœ… 3. before() – ์š”์†Œ ์•ž์— ์ถ”๊ฐ€

$("#targetElement").before('<div class="new-item">์ด ์š”์†Œ ์•ž์— ์ถ”๊ฐ€๋จ</div>');

๐Ÿ”น before()๋Š” ์„ ํƒํ•œ ์š”์†Œ ์•ž์— ํ˜•์ œ๋กœ ์ถ”๊ฐ€.


โœ… 4. html() – ๊ธฐ์กด ๋‚ด์šฉ ์‚ญ์ œ ํ›„ ์ถ”๊ฐ€ (์ฃผ์˜)

$("#container").html('<div class="new-item">๊ธฐ์กด ์š”์†Œ๋ฅผ ์ง€์šฐ๊ณ  ์ƒˆ ์š”์†Œ ์ถ”๊ฐ€</div>');

๐Ÿ”น ์ฃผ์˜: ๊ธฐ์กด์˜ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์‚ญ์ œ๋˜๋ฏ€๋กœ, ์ƒˆ๋กœ์šด ์š”์†Œ๋งŒ ๋‚จ๊ฒŒ ๋จ.


โœ… 5. replaceWith() – ๊ธฐ์กด ์š”์†Œ ๋Œ€์ฒด

$("#targetElement").replaceWith('<div class="new-item">์ด์ „ ์š”์†Œ๋ฅผ ๋Œ€์ฒดํ•จ</div>');

๐Ÿ”น ๊ธฐ์กด #targetElement๊ฐ€ ์‚ญ์ œ๋˜๊ณ  ์ƒˆ๋กœ์šด ์š”์†Œ๋กœ ๊ต์ฒด๋จ.


โœ… 6. clone() – ์š”์†Œ ๋ณต์ œ ํ›„ ์ถ”๊ฐ€

$("#targetElement").clone().appendTo("#container");

๐Ÿ”น ๊ธฐ์กด ์š”์†Œ๋ฅผ ๋ณต์ œํ•˜์—ฌ #container์˜ ๋งˆ์ง€๋ง‰ ์ž์‹์œผ๋กœ ์ถ”๊ฐ€.


๐Ÿ”น ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•

(โŒ ๋น„ํšจ์œจ์ ์ธ ๋ฐฉ์‹: ์—ฌ๋Ÿฌ ๋ฒˆ append() ํ˜ธ์ถœ)

for (let i = 0; i < 5; i++) {
    $("#container").append(`<div class="new-item">์ƒˆ ์š”์†Œ ${i}</div>`);
}

๐Ÿ”น ์—ฌ๋Ÿฌ ๋ฒˆ append()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด DOM ์กฐ์ž‘์ด ๋ฐ˜๋ณต๋˜์–ด ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฐœ์ƒ.

(โœ… ์ตœ์ ํ™”๋œ ๋ฐฉ์‹: ๋ฌธ์ž์—ด์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ํ•œ ๋ฒˆ์— ์ถ”๊ฐ€)

let elements = "";
for (let i = 0; i < 5; i++) {
    elements += `<div class="new-item">์ƒˆ ์š”์†Œ ${i}</div>`;
}
$("#container").append(elements);

๐Ÿ”น ๋ฌธ์ž์—ด์„ ํ•œ ๋ฒˆ์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋ Œ๋”๋ง ๋ถ€๋‹ด์„ ์ค„์ž„.


๐Ÿ”ฅ ๊ฒฐ๋ก 

  1. ๋‚ด๋ถ€ ์ถ”๊ฐ€
    • append(): ๋‚ด๋ถ€ ๋งˆ์ง€๋ง‰์— ์ถ”๊ฐ€
    • prepend(): ๋‚ด๋ถ€ ์ฒซ ๋ฒˆ์งธ์— ์ถ”๊ฐ€
  2. ์™ธ๋ถ€ ์ถ”๊ฐ€ (ํ˜•์ œ ์š”์†Œ๋กœ ์ถ”๊ฐ€)
    • after(): ์„ ํƒํ•œ ์š”์†Œ ๋’ค
    • before(): ์„ ํƒํ•œ ์š”์†Œ ์•ž
  3. ๊ธฐ์กด ์š”์†Œ ๋ณ€๊ฒฝ
    • html(): ๊ธฐ์กด ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ƒˆ ์š”์†Œ ์ถ”๊ฐ€
    • replaceWith(): ๊ธฐ์กด ์š”์†Œ๋ฅผ ์ƒˆ ์š”์†Œ๋กœ ๋Œ€์ฒด
  4. ๋ณต์ œ ํ›„ ์ถ”๊ฐ€
    • clone(): ๊ธฐ์กด ์š”์†Œ๋ฅผ ๋ณต์ œํ•˜์—ฌ ์ถ”๊ฐ€
  5. ์„ฑ๋Šฅ ์ตœ์ ํ™”
    • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” += ๋ฐฉ์‹์œผ๋กœ ํ•œ ๋ฒˆ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์ƒ ์œ ๋ฆฌ

๐Ÿ“Œ ํ•„์š”์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋ฉด ๋”์šฑ ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๐Ÿš€
์ถ”๊ฐ€ ์งˆ๋ฌธ ์žˆ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ฃผ์„ธ์š”! ๐Ÿ˜Š

728x90