๐ [Section1_Unit10] DOM
๋ชจ๋ ์ธ์ด์ ์์ด ๊ธฐ๋ณธ์ด ๋๋ CRUD์ DOM์ ์ถ๊ฐ๋ก html์ ์ ์ฉ(append)์ํค๋ ๋ฉ์๋๊ฐ ๋ฐ๋ก ์๋ค.
const tweetDiv = document.createElement('div') // tweetDiv์ 'div' ํ ๋น
document.body.append(tweetDiv) // 'div'๊ฐ ํ ๋น๋ tweetDiv๋ฅผ 'body'์ ์ฐ๊ฒฐ
querySelector
์ ์ฒซ๋ฒ์งธ ์ธ์๋ก htmlํ๊ทธ
, id
, class
๋ฑ์ ์
๋ ํฐ๋ฅผ ์ด์ฉํ๋ค.const oneTweet = document.querySelector('.tweet') // tweet ํด๋์ค์ ์ฒซ๋ฒ์งธ ์์๋ฅผ oneTweet์ ํ ๋น
querySelectorAll
๋ก ์ฌ๋ฌ ์ธ์๋ฅผ ํ๋ฒ์ ์ ์ฌ ๋ฐฐ์ด๋ก ๊ฐ์ ธ์จ๋ค.const tweets = document.querySelectorAll('.tweet') // tweet ํด๋์ค์ ์๋ ์์๋ค์ ์ ๋ถ tweets์ ํ ๋น
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'๋ฅผ ์ถ๊ฐ
remove
: ์์๋ฅผ ์ญ์ ํด์ค๋ค.oneDiv.remove() // appendํ๋ 'oneDiv' ์ญ์
removeChild
: ์์ ์์๋ฅผ ์ง์ ํด ์ญ์ ํ ์ ์๋ค. ๋ชจ๋ ์์ ์์๋ฅผ ์ญ์ ํ๊ธฐ ์ํด, ๋ฐ๋ณต๋ฌธ(while
, for
, etc.)์ ํ์ฉํ ์ ์๋ค.const container = document.querySelector('#container');
while (container.firstChild) {
container.removeChild(container.firstChild);
} // container์ ์ฒซ๋ฒ์งธ ์์ ์์๊ฐ ์กด์ฌํ์ง ์์ ๋ ๊น์ง ์ญ์