๋ฐ˜์‘ํ˜•
kkh1902
Steadily
kkh1902
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (151)
    • ๐Ÿ“š Study (1)
      • Spring (9)
      • Java (2)
      • Html, css (10)
      • JS, JQuery (29)
      • DB (5)
      • DevOps (13)
      • roadmap (2)
      • Architecture (1)
      • Flutter (2)
    • ๐Ÿ’ป Computer Science (28)
      • Datastructure (0)
      • Algorithm (2)
      • Design pattern (0)
      • Network (1)
      • DB (13)
      • Operating System (0)
      • Software Engineering (4)
      • CS interview (5)
      • topcit (3)
    • โš’๏ธ Etc (4)
      • Error (3)
      • Trouble_Shooting (1)
    • ๐Ÿ“ฐ News (0)
      • daily (7)
      • think (17)
    • ๐Ÿ“˜ Hobby (13)
      • English (13)
    • ๐Ÿค– AI (7)
      • ML (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ“‹ ์ด๋ ฅ์„œ
  • โšก๏ธ ๊นƒํ—ˆ๋ธŒ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • testcode
  • Linear Regression
  • think #bootstrap์„ ์จ์•ผํ•˜๋Š” ์ด์œ 
  • sourcetreee
  • React๋ฅผ ๋ฐฐ์›Œ์•ผํ•˜๋Š” ์ด์œ 
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ # chapter1
  • Qr_payment project # CSS ํ•ด์„ # Basic ๋งจ์œ„ ํ•ด์„
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ #project๋งŒ๋“ค๋•Œ ์ค‘์š”
  • gitaction
  • junit5
  • React JS #์ž์Šต์„œ
  • React JS # ์ž์Šต์„œ # Component์™€ Props
  • React # JSX
  • Flutter
  • React JS # 2 The Basic of React
  • db
  • SpringBootTest
  • git stash
  • git
  • Wonder # word

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ธ€์“ฐ๊ธฐ / ๊ด€๋ฆฌ์ž
kkh1902

Steadily

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ DOM (Document Obejct Model) ๊ฐ€๋ณ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ - 1
๐Ÿ“š Study/JS, JQuery

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ DOM (Document Obejct Model) ๊ฐ€๋ณ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ - 1

2022. 3. 13. 18:58
728x90
๋ฐ˜์‘ํ˜•

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์›น ํŽ˜์ด์ง€ ์ข€ ๋” ์ž์œ ๋กญ๊ฒŒ ๋‹ค๋ฃจ๋ ค๋ฉด DOM์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ (DOM)

๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(Document Object Model, DOM)์€ ๋ง ๊ทธ๋Œ€๋กœ ์›น ํŽ˜์ด์ง€ ๋‚ด์˜ ๋ชจ๋“  ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ์ฒด๋กœ ๋‚˜ํƒ€๋‚ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์›น ํŽ˜์ด์ง€๋ฅผ document๋ผ๊ณ  ๋ถ€๋ฅด๊ณ , document๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ ๊ฐ์ฒดํ™” ํ•˜๊ณ ์ž ๊ตฌํ˜„๋œ ๊ฐœ๋…์ด ๊ฒฐ๊ตญ์ด DOM์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.

๊ทธ๋ฆฌ๊ณ  HTML ํƒœ๊ทธ์™€ ๊ธ€์ž, ์†์„ฑ ๋“ฑ document์˜ ๋‹ด๊ฒจ์žˆ๋Š” ๋ชจ๋“  ์š”์†Œ๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๊ฐ์ฒดํ™” ํ•œ ๋‹จ์œ„๋ฅผ ๊ฐ€๋ฆฌ์ผœ ๋…ธ๋“œ(Node)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์•„๋ฌดํŠผ, ๊ฒฐ๊ตญ DOM์€ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ฐ์ฒดํ™” ํ•œ ๊ฐœ๋…์ด๊ณ , ์ด ์›นํŽ˜์ด์ง€์˜ ๊ฐ€์žฅ ์ƒ๋‹จ ์ง„์ž…์ ์ด ๋ฐ”๋กœ document ๊ฐ์ฒด์ด๋‹ค.

document ๊ฐ์ฒด๋Š” ์ „์—ญ ๊ฐ์ฒด์ธ window ๊ฐ์ฒด์˜ ๋ฐ”๋กœ ์•„๋ž˜ ์žˆ๋Š”๋ฐ, window ๊ฐ์ฒด๋Š” ์•ž์— window๋ฅผ ์ƒ๋žตํ•ด๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” document์— ๋ฐ”๋กœ ์ ‘๊ทผํ•ด์„œ ๋ฉ”์„œ๋“œ๋‚˜ ํ”„๋กœํผํ‹ฐ๋“ค์„ ํ™œ์šฉํ•œ๋‹ค.

window.document
document // window๋Š” ์ƒ๋žต๋  ์ˆ˜ ์žˆ๋‹ค.

 

 

Document ๊ฐ์ฒด

window๊ฐ์ฒด๊ฐ€ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ๋Œ€๋ณ€ํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด document ๊ฐ์ฒด๋Š”, ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ์ปจํ…์ธ ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์›น ํŽ˜์ด์ง€ ์ž์ฒด๋ฅผ ๋Œ€๋ณ€ํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์›น ํŽ˜์ด์ง€๊ฐ€ document๊ณ , ์ด๋ฅผ ๊ฐ์ฒดํ™”ํ•œ ๊ฒƒ์ด document ๊ฐ์ฒด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค.

 

 

Document ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ

document ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์›นํŽ˜์ด์ง€์˜ ์ƒํƒœ์™€ ๋ชจ๋“  HTML ํƒœ๊ทธ๋“ค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ”„๋กœํผํ‹ฐ ๋„ค์ž„์— ํƒœ๊ทธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ํƒœ๊ทธ์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

document.documentElement // <html> ํƒœ๊ทธ ๋ฐ˜ํ™˜
document.head // <head> ํƒœ๊ทธ ๋ฐ˜ํ™˜
document.title // <title> ํƒœ๊ทธ ๋ฐ˜ํ™˜
document.body // <body> ํƒœ๊ทธ ๋ฐ˜ํ™˜
document.links // href ์†์„ฑ์ด ์žˆ๋Š” <a> ํƒœ๊ทธ ๋ฐ˜ํ™˜
document.images // <img> ํƒœ๊ทธ ๋ฐ˜ํ™˜
document.forms // <form> ํƒœ๊ทธ ๋ฐ˜ํ™˜
document.scripts // <script> ํƒœ๊ทธ ๋ฐ˜ํ™˜

์›นํŽ˜์ด์ง€์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ”„๋กœํผํ‹ฐ๋“ค๋„ ์žˆ๋‹ค.

document.doctype // ์›น ํŽ˜์ด์ง€์˜ ๋ฌธ์„œ ํ˜•์‹์„ ๋ฐ˜ํ™˜
document.readyState // ์›น ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ๋ฐ˜ํ™˜
document.documentURI //  ์›น ํŽ˜์ด์ง€์˜ URI๋ฅผ ๋ฐ˜ํ™˜
document.baseURI // ์›น ํŽ˜์ด์ง€์˜ ์ ˆ๋Œ€ URI๋ฅผ ๋ฐ˜ํ™˜
document.URL // ์›น ํŽ˜์ด์ง€์˜ ์™„์ „ํ•œ URL ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜
document.referrer // ๋งํฌ(linking)๋˜์–ด ์žˆ๋Š” ๋ฌธ์„œ์˜ URI๋ฅผ ๋ฐ˜ํ™˜
document.domain // ์›น ํŽ˜์ด์ง€๊ฐ€ ์œ„์น˜ํ•œ ์„œ๋ฒ„์˜ ๋„๋ฉ”์ธ์„ ๋ฐ˜ํ™˜
document.cookie // ์›น ํŽ˜์ด์ง€์˜ ์ฟ ํ‚ค๋ฅผ ๋ฐ˜ํ™˜
document.lastModified // ์›น ํŽ˜์ด์ง€์˜ ๋งˆ์ง€๋ง‰ ๊ฐฑ์‹  ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์„ ๋ฐ˜ํ™˜
document.inputEncoding // ์›น ํŽ˜์ด์ง€์˜ ๋ฌธ์„œ ์ธ์ฝ”๋”ฉ ํ˜•์‹์„ ๋ฐ˜ํ™˜

 

 

HTML ํƒœ๊ทธ (๋…ธ๋“œ) ์„ ํƒํ•˜๊ธฐ

๋ฟ ๋งŒ ์•„๋‹ˆ๋ผ ๋ฉ”์†Œ๋“œ๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์›น ํŽ˜์ด์ง€ ๋‚ด์˜ ํƒœ๊ทธ๋“ค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

// ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•œ ํƒœ๊ทธ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ชจ๋“  ํƒœ๊ทธ๋“ค์„ ๋ฐ˜ํ™˜(๋ฐฐ์—ด)
document.getElementsByTagName(ํƒœ๊ทธ์ด๋ฆ„)

// ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•œ ID๋ฅผ ๊ฐ€์ง„ ํƒœ๊ทธ๋ฅผ ๋ฐ˜ํ™˜
document.getElementById(์•„์ด๋””)

// ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•œ ํด๋ž˜์Šค ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ชจ๋“  ํƒœ๊ทธ๋“ค์„ ๋ฐ˜ํ™˜(๋ฐฐ์—ด)
document.getElementsByClassName(ํด๋ž˜์Šค์ด๋ฆ„)

// ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•œ name ์†์„ฑ์„ ๊ฐ€์ง„ ํƒœ๊ทธ๋ฅผ ๋ฐ˜ํ™˜
document.getElementByName(name์†์„ฑ๊ฐ’)

// ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•œ ์„ ํƒ์ž์— ๋งž๋Š” ์ฒซ ๋ฒˆ์งธ ํƒœ๊ทธ๋ฅผ ๋ฐ˜ํ™˜
document.querySelector(์„ ํƒ์ž)

// ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•œ ์„ ํƒ์ž์— ๋งž๋Š” ๋ชจ๋“  ํƒœ๊ทธ๋“ค์„ ๋ฐ˜ํ™˜(๋ฐฐ์—ด)
document.querySelectorAll(์„ ํƒ์ž)

 

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š Study > JS, JQuery' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋™๊ธฐ๋ฐฉ์‹ vs ๋น„๋™๊ธฐ๋ฐฉ์‹, ์ฝœ๋ฐฑํ•จ์ˆ˜์™€ Promise ๊นŒ์ง€ ํ•œ๋ฒˆ์— ํ›‘์–ด๋ณด๊ธฐ!  (0) 2022.05.04
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ DOM (Document Obejct Model) ๊ฐ€๋ณ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ - 2  (0) 2022.03.13
[๋‹ˆ์ฝ”]# 8 WEATHER  (0) 2022.03.02
[๋‹ˆ์ฝ”] # 7 TO DO LIST  (0) 2022.03.02
[๋‹ˆ์ฝ”]#6 QUOTES AND BACKGROUND(๋ช…์–ธ ๊ฐ€์ ธ์˜ค๊ธฐ)  (0) 2022.03.02
    '๐Ÿ“š Study/JS, JQuery' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๋™๊ธฐ๋ฐฉ์‹ vs ๋น„๋™๊ธฐ๋ฐฉ์‹, ์ฝœ๋ฐฑํ•จ์ˆ˜์™€ Promise ๊นŒ์ง€ ํ•œ๋ฒˆ์— ํ›‘์–ด๋ณด๊ธฐ!
    • [JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ DOM (Document Obejct Model) ๊ฐ€๋ณ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ - 2
    • [๋‹ˆ์ฝ”]# 8 WEATHER
    • [๋‹ˆ์ฝ”] # 7 TO DO LIST
    kkh1902
    kkh1902
    1Day 1 Commit ๋ชฉํ‘œ ๊ณต๋ถ€ํ•œ๊ฒƒ๋“ค ๋งค์ผ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”