DOM

์ดํ•˜์˜ยท2022๋…„ 4์›” 4์ผ
0

๋จผ์ € html์—์„œ js์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฒ•์„ ์•Œ์•„๋ณด์ž๋ฉด!!!!

HTML์—์„œ javascript๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• 2๊ฐ€์ง€

1. html์— script ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ

<script>
function () {
  console.log('๋งŒ๋‚˜์„œ ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค');
  }
</script>

Html์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ scriptํƒœ๊ทธ๋กœ ๊ฐ์‹ธ์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค
์ด ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ• ๋•Œ๋Š” ๊ดœ์ฐฎ์ง€๋งŒ ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ฐ€๋…์„ฑ๋„ ์–ด๋ ต๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ์— ์–ด๋ ค์›€์ด ์žˆ๊ธฐ์— ๋งŽ์€ ์–‘์˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด ๋ฐฉ๋ฒ•์„ ์ถ”์ฒœํ•˜์ง„ ์•Š๋Š”๋‹ค.

2. script scr๋ฅผ ์‚ฌ์šฉํ•ด ๋งํฌ ๊ฑธ๊ธฐ

<script src="index.js"></script>

htmlํŒŒ์ผ์— cssํŒŒ์ผ์„ ์—ฐ๊ฒฐํ• ๋•Œ์™€ ๊ฐ™์ด script src๋ฅผ ์‚ฌ์šฉํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋“ค์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ œ์ผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.
๋งŽ์€ ํŒŒ์ผ๋“ค์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋Šฅ๋ณ„๋กœ ํŒŒ์ผ๋“ค์„ ๋‚˜๋ˆ ์„œ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค!

DOM์˜ ์ •์˜์™€ ๊ธฐ๋Šฅ

๐ŸŽƒ DOM ์ด๋ž€?

html์™€ javascript๋Š” ๋‹ค๋ฅธ์–ธ์–ด์ด์ง€๋งŒ ์ด๋‘˜์ด ์†Œํ†ต์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด DOM์ด๋‹ค.
Document Object Model(DOM)์œผ๋กœ ์›นํŽ˜์ด์ง€์˜ html์„ ๊ณ„์ธตํ™” ์‹œ์ผœ ํŠธ๋ฆฌ๊ตฌ์กฐ๋กœ ๋งŒ๋“  ๊ฐ์ฒด๋ชจ๋ธ์ด๋‹ค.

๐Ÿ—ฃ ์™œ ๋งŽ์€ ํ˜•ํƒœ์ค‘์— object(๊ฐ์ฒด)ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์กŒ์„๊นŒ?

=> ๋”์€ ๊ณ„์ธต๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ ‘๊ทผํ•˜๋Š” ๋ฒ•๋„ key:value ์ด๊ณ  ์ ‘๊ทผ๋ฒ•๋„ dot notation, bracket notation ์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค.
์ฝ๊ธฐ ์‰ฝ๊ณ  ๋” ์ž์ฃผ์‚ฌ์šฉํ•˜๋Š” ์ ‘๊ทผ๋ฒ•์œผ๋กœ ์ ‘ํ‘œ๊ธฐ๋ฒ•์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

DOM์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ

  • document.getElementById("id๋ช…")
    => ํ•ด๋‹น id๋ช…์„ ๊ฐ€์ง„ ์š”์†Œ ํ•˜๋‚˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

  • document.quertSelector("์„ ํƒ์ž")
    => ํ•ด๋‹น ์„ ํƒ์ž๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ ํ•˜๋‚˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • document.getElementsByClassName("class๋ช…")[์ˆœ์„œ]
    => ํ•ด๋‹น class๋ช…์„ ๊ฐ€์ง„ ์š”์†Œ๋“ค์„ ๋ฐฐ์—ด์— ๋‹ด์•„ ์ธ๋ฑ์Šค์— ๋งž๋Š” ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • document.getElementsByTagName("ํƒœ๊ทธ๋ช…")[์ˆœ์„œ]
    => ํ•ด๋‹น ํƒœ๊ทธ๋ช…์„ ๊ฐ€์ง„ ์š”์†Œ๋“ค์„ ๋ฐฐ์—ด์— ๋‹ด์•„ ์ธ๋ฑ์Šค์— ๋งž๋Š” ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • document.quertSelectorAll("์„ ํƒ์ž๋ช…")[์ˆœ์„œ]
    => ํ•ด๋‹น ์„ ํƒ์ž๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋“ค์„ ๋ฐฐ์—ด์— ์ธ๋ฑ์Šค์— ๋งž๋Š” ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์–ด๋–ค๊ฒƒ์ด ๋งž์„์ง€ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋น„๊ตํ•ด๊ฐ€๋ฉฐ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ์ข‹์€ ๋ฐฉ๋ฒ•!

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