let's get IT with DAVINA ๐Ÿ’ป

DOM ๋ณธ๋ฌธ

DEV_IN/HTML

DOM

๋‹ค๋นˆ์น˜์ฝ”๋“œ๐Ÿ’Ž 2023. 2. 27. 15:33

TypeScript ์ ์šฉํ•˜๋Š” ์ž‘์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋ ค๋‹ค๋ณด๋‹ˆ ํ•ญ์ƒ React๋งŒ ์‚ฌ์šฉํ•ด์™€์„œ ๊ฐ•์˜๋ฅผ ๋“ฃ๋Š”๋ฐ DOM ๊ฐœ๋…์ด ๋‚˜์˜ค๋ฉด ๋ฉ˜๋ถ•์ด ์™”๋‹ค.. ๊ทธ๋Ÿฐ ๋‚ด ๋ง˜์„ ์•Œ์•˜๋Š”์ง€ DOM ๊ด€๋ จ ์˜์ƒ์„ ์˜ฌ๋ ค์ฃผ์‹  ๊ฐ•์‚ฌ๋‹˜ ๋•๋ถ„์— ์ •๋ฆฌ๋ฅผ ํ•ด๋ณธ๋Œœ..

DOM

  • Document Object Model์˜ ์•ฝ์ž
HTML- ์›นํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋งˆํฌ์—… ์–ธ์–ด
JavaScript- HTML๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ตฌ์กฐ์— ๊ธฐ๋Šฅ์„ ๋”ํ• ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
DOM- HTML ์š”์†Œ๋ฅผ Object์ฒ˜๋Ÿผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ
DOM์€ document๊ฐ์ฒด๋ฅผ ํ†ตํ•ด HTML์— ์ ‘๊ทผ
BOM(Browser Object Model)์ด window ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์— ์ ‘๊ทผ (window๊ฐ์ฒด๊ฐ€ document๊ฐ์ฒด๋ณด๋‹ค ์ƒ์œ„ ๊ฐœ๋…)

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋Ÿฐ HTML Tag๋“ค์„ ๋‹ค ์ฝ์„ ์ˆ˜ ์žˆ์ง€๋„, ์ดํ•ดํ•˜์ง€๋„ ์•Š๋Š”๋‹ค!!

๊ฐ๊ฐ์˜ HTML Tag๋“ค์„ ๋ธŒ๋ผ์šฐ์ €๋งŒ์˜ JavaScript Object๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ์— ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋Š”๊ฑฐ์ž„!!!

HTML           → 
 Tag
JavaScript
    Node


์ด๋ ‡๊ฒŒ ๊ฐ๊ฐ ์ž‘์„ฑํ•œ HTML tag๋“ค์ด ๊ทธ์— ๋งž๋Š” ์š”์†Œ๋“ค๋กœ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

์ด๋•Œ ๋™์  element๋ฅผ ์ด์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ๋”ฐ๋กœ component์—์„œ ์ƒ์„ฑํ•ด์„œ ์ ์šฉ๋„ ๊ฐ€๋Šฅ!

html์„ ์ด์šฉํ•ด? → document์—์„œ ํ•˜๋˜์ง€,

body๋ฅผ ์ด์šฉํ•ด? → body์—์„œ ํ•˜๋˜์ง€, 

๊ทธ ๋ฐ‘์— section, span ๋“ฑ๋“ฑ์„ ์ด์šฉํ•ด? → ์›ํ•˜๋Š” ์š”์†Œ์— querySelector์„ ์ด์šฉํ•˜๋ฉด ํ•ด๋‹นํ•˜๋Š” ์š”์†Œ ์•ˆ์— ์žˆ๋Š” ์ž์‹ ์š”์†Œ๋“ค ์ค‘์— ํŠน์ •ํ•œ id,class,tag๋“ค์„ ๊ฐ€์ง€๊ณ  ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โญ๏ธ ์ค‘์š” ํฌ์ธํŠธ!! ๋ชจ๋“  Tag ์š”์†Œ๋“ค์€ HTMLElement๋ฅผ ์ƒ์†ํ•˜๊ณ , ์ด๊ฒƒ์€ ๊ฒฐ๊ตญ Element์ด๋‹ค!!


element VS node

  • element๋Š” ํ™”๋ฉด์ƒ ๋ณด์ด๋Š” ๊ฒƒ๋“ค (div,input,button ๋“ฑ)๋งŒ ๋“ค์–ด์žˆ๋Š” ๋ฐ˜๋ฉด,
  • ๋…ธ๋“œ๋Š” ์—˜๋ฆฌ๋จผํŠธ์˜ ๋‚ด์šฉ๋“ค๊ณผ html์ƒ์˜ text๋„ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

'DEV_IN > HTML' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

HTML ๊ธฐ๋ณธ  (2) 2023.02.08
Comments