DOM

hyxooยท2023๋…„ 3์›” 9์ผ
0

์ฝ”๋“œ์Šคํ…Œ์ด์ธ 

๋ชฉ๋ก ๋ณด๊ธฐ
13/37
post-thumbnail

๐Ÿ“ [Section1_Unit10] DOM

๐Ÿ“Œ CRUD

๋ชจ๋“  ์–ธ์–ด์— ์žˆ์–ด ๊ธฐ๋ณธ์ด ๋˜๋Š” CRUD์— DOM์€ ์ถ”๊ฐ€๋กœ html์— ์ ์šฉ(append)์‹œํ‚ค๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ๋”ฐ๋กœ ์žˆ๋‹ค.

โœ”๏ธ CREATE (์ƒ์„ฑํ•˜๊ธฐ)

const tweetDiv = document.createElement('div') // tweetDiv์— 'div' ํ• ๋‹น

โœ”๏ธ APPEND (์ ์šฉํ•˜๊ธฐ)

document.body.append(tweetDiv) // 'div'๊ฐ€ ํ• ๋‹น๋œ tweetDiv๋ฅผ 'body'์— ์—ฐ๊ฒฐ

โœ”๏ธ READ (์ฝ๊ธฐ)

  • querySelector์˜ ์ฒซ๋ฒˆ์งธ ์ธ์ž๋กœ htmlํƒœ๊ทธ, id, class๋“ฑ์˜ ์…€๋ ‰ํ„ฐ๋ฅผ ์ด์šฉํ•œ๋‹ค.
const oneTweet = document.querySelector('.tweet') // tweet ํด๋ž˜์Šค์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ oneTweet์— ํ• ๋‹น
  • querySelectorAll๋กœ ์—ฌ๋Ÿฌ ์ธ์ž๋ฅผ ํ•œ๋ฒˆ์— ์œ ์‚ฌ ๋ฐฐ์—ด๋กœ ๊ฐ€์ ธ์˜จ๋‹ค.
const tweets = document.querySelectorAll('.tweet') // tweet ํด๋ž˜์Šค์— ์žˆ๋Š” ์š”์†Œ๋“ค์„ ์ „๋ถ€ tweets์— ํ• ๋‹น

โœ”๏ธ UPDATE (๋ณ€๊ฒฝํ•˜๊ธฐ)

  • textContent : content๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฐ”๊ฟ”์ค€๋‹ค.
const oneDiv = document.createElement('div'); // ๋น„์–ด์žˆ๋Š” 'div' ์ƒ์„ฑ
oneDiv.textContent = 'hello'; // 'div'์— content๋กœ [hello] ๋„ฃ๊ธฐ
console.log(oneDiv); // <div>hello</div>
  • classList : ํด๋ž˜์Šค ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
oneDiv.classList.add('tweet'); // 'oneDiv'์— tweet ํด๋ž˜์Šค ์†์„ฑ ์ถ”๊ฐ€
console.log(oneDiv); // <div class="tweet">hello</div>
  • append : ์ž์‹ ์š”์†Œ๋กœ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
const container = document.querySelector('#container'); // 'container'์— 'container'๋ผ๋Š” id ์ถ”๊ฐ€
container.append(oneDiv); // 'container'์— 'oneDiv'๋ฅผ ์ถ”๊ฐ€

โœ”๏ธ DELETE (์‚ญ์ œํ•˜๊ธฐ)

  • remove : ์š”์†Œ๋ฅผ ์‚ญ์ œํ•ด์ค€๋‹ค.
oneDiv.remove() // appendํ–ˆ๋˜ 'oneDiv' ์‚ญ์ œ
  • removeChild : ์ž์‹ ์š”์†Œ๋ฅผ ์ง€์ •ํ•ด ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋“  ์ž์‹ ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด, ๋ฐ˜๋ณต๋ฌธ(while, for, etc.)์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
const container = document.querySelector('#container');
while (container.firstChild) {
  container.removeChild(container.firstChild);
} // container์˜ ์ฒซ๋ฒˆ์งธ ์ž์‹ ์š”์†Œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ ๊นŒ์ง€ ์‚ญ์ œ
profile
hello world!

0๊ฐœ์˜ ๋Œ“๊ธ€