All :L

Web(Front) - HTML & DOM ๋ณธ๋ฌธ

STUDY/Front End

Web(Front) - HTML & DOM

ofijwe 2024. 8. 26. 09:41
๋ฐ˜์‘ํ˜•

๐Ÿ“’ HTML๊ณผ DOM

1๏ธโƒฃ DOM (Document Object Model)

  • HTML๊ณผ XML๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” API ์ œ๊ณต
  • ๋ฌธ์„œ ์š”์†Œ ์ง‘ํ•ฉ์„ ํŠธ๋ฆฌ ํ˜•ํƒœ์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ HTML ํ‘œํ˜„
  • ์ฆ‰, HTML ๋ฌธ์„œ ๋‚ด์šฉ์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” API๋กœ HTML ๊ณ„์ธต๊ตฌ์กฐ ํ˜•์‹์˜ ๊ฐ์ฒด๋กœ ํ‘œํ˜„
  • ๊ณ„์ธต ๊ตฌ์กฐ ์ œ์ผ ์œ„์—๋Š” document ๋…ธ๋“œ ์กด์žฌ
    • ์•„๋ž˜์— HTML ํƒœ๊ทธ or ์š”์†Œ(element)๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋…ธ๋“œ ์กด์žฌ
    • ์•„๋ž˜์— ๋ฌธ์ž์—ด์„ ํ‘œํ˜„ํ•˜๋Š” ๋…ธ๋“œ ์กด์žฌ
  • HTML ๋ฌธ์„œ์˜ ๊ฒ€์ƒ‰๊ณผ ์กฐ์ž‘(์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ) ๊ฐ€๋Šฅ

2๏ธโƒฃ DOM ๋ฌธ์„œ ๊ณ„์ธต ๊ตฌ์กฐ

  • Document : HTML or XML ๋ฌธ์„œ ํ‘œํ˜„
  • HTMLDocument : HTML ๋ฌธ์„œ์™€ ์š”์†Œ๋งŒ ํ‘œํ˜„
  • HTMLElement ํ•˜์œ„ ํƒ€์ž… : ๋‹จ์ผ ์š”์†Œ or ์š”์†Œ ์ง‘ํ•ฉ์˜ ์†์„ฑ์— ํ•ด๋‹นํ•˜๋Š” JS ํ”„๋กœํผํ‹ฐ ์ •์˜
  • Comment ๋…ธ๋“œ : HTML or XML์˜ ์ฃผ์„ ํ‘œํ˜„
  • ๊ณ„์ธต ๊ตฌ์กฐ
  • Node - Document - HTMLDocument - Element - HTMLElement - HTMLHeadElement - HTMLBodyElement - HTMLTitleElement - HTMLParagraphElement - HTMLInputElement - etc ... - Attr - CharacterData - Text - Comment

3๏ธโƒฃ ๋ฌธ์„œ ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ

  • text node๋ฅผ ๊ฐ–๋Š” ๊ฐ์ฒด์™€ ๊ฐ–์ง€ ์•Š๋Š” ๊ฐ์ฒด๋กœ ๋‚˜๋‰จ
    • createElement(tagName) : element node ์ƒ์„ฑ
    • createTextNode(text) : text node ์ƒ์„ฑ
    • appendChild(node) : node๋ฅผ child๋กœ ์ถ”๊ฐ€
  • ๊ฐ์ฒด์˜ ์†์„ฑ ์„ค์ •
    • setAttribute(name, value) : ๊ฐ์ฒด ์†์„ฑ ์ง€์ •
      • ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํƒœ๊ทธ์˜ ์†์„ฑ๋„ ๊ฐ€๋Šฅ (์ฆ‰, ์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
    • getAttribute(name) : ๊ฐ์ฒด ์†์„ฑ๊ฐ’ ๊ฐ€์ ธ์˜ด
  • innerHTML & innerText
    • innerHTML : ๋ฌธ์ž์—ด์„ HTML ํƒœ๊ทธ๋กœ ์‚ฝ์ž…
    • innerText : ๋ฌธ์ž์—ด์„ text node๋กœ ์‚ฝ์ž…

4๏ธโƒฃ ๋ฌธ์„œ ๊ฐ์ฒด ๊ฐ€์ ธ์˜ค๊ธฐ

  • getElement
    • getElementById(id) : id์™€ ์ผ์น˜ํ•˜๋Š” element ๊ฐ์ฒด ์–ป๊ธฐ
    • getElementsByClassName(class-name) : class-name๊ณผ ์ผ์น˜ํ•˜๋Š” element ๋ฐฐ์—ด ์–ป๊ธฐ
    • getElementsByTagName(tag-name) : tag-name๊ณผ ์ผ์น˜ํ•˜๋Š” element ๋ฐฐ์—ด ์–ป๊ธฐ
    • getElementsByName(name) : name๊ณผ ์ผ์น˜ํ•˜๋Š” element ๋ฐฐ์—ด ์–ป๊ธฐ
  • querySelector
    • querySelector(selector) : selector์— ์ผ์น˜ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ element ๊ฐ์ฒด ์–ป๊ธฐ
    • querySelectorAll(selector) : selector์— ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  element ๋ฐฐ์—ด ์–ป๊ธฐ

5๏ธโƒฃ ๋ฌธ์„œ ๊ฐ์ฒด ์ œ๊ฑฐ

  • ๊ฐ์ฒด ์ œ๊ฑฐ
    • removeChild(childnode) : ๊ฐ์ฒด์˜ ์ž์‹ ๋…ธ๋“œ ์ œ๊ฑฐ
๋ฐ˜์‘ํ˜•

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

Web(Front) - CSS ์„ ํƒ์ž (Selector)  (0) 2024.08.26
Web(Front) - CSS  (0) 2024.08.26
Web(Front) - HTML Semantic  (0) 2024.08.25
Web(Front) - HTML ๊ณต๊ฐ„ ๋ถ„ํ•  ํƒœ๊ทธ  (0) 2024.08.25
Web(Front) - HTML Markup Elements  (0) 2024.08.25
Comments