[D+16] DOM
D+16
- DOM -
(DOM, DOM μ‘°μ)
DOM ( Document Object Model )
• HTML(Document)μ μ κ·Όνμ¬ Object(Java Script)μ²λΌ μ리먼νΈμ μμ±κ°μ μ»μ΄λ΄κ±°λ λ³κ²½ν μ μκ² νλ λͺ¨λΈ
• νΈλ¦¬κ΅¬μ‘°
μ리먼νΈλ₯Ό νμΈνλ λ°©λ²
λ³΄ν΅ μ°λ¦¬λ μ리먼νΈλ₯Ό νμΈν λ μ½μμ°½μ 'console.log()'λ₯Ό μ λ ₯ν΄ νμΈν΄ μλ€.
νμ§λ§ μ΄λ κ² μ λ ₯νμ κ²½μ° κ΅¬μ²΄μ μΈ μμ±κ°λ€μ νμΈνκΈ° μ΄λ ΅λ€.
λ§μ½ λ€μν μμ±λ€μ νμΈνκΈ°λ₯Ό μνλ€λ©΄ 'console.dir()'μ μ λ ₯νκ² λλ©΄
μ리먼νΈκ° κ°μ²΄μ ννλ‘ λ€μνκ² λμ€λ κ²μ νμΈν μ μλ€.
element κ°μ²΄μ μ¬μ©λλ μμ±
μμ± | μμ± μ΄λ¦ |
νκ·Έ μ΄λ¦ | tagName |
id | id |
class λͺ©λ‘ | classList |
class λ¬Έμμ΄ | className |
μμ± κ°μ²΄ | attributes |
μ€νμΌ κ°μ²΄ | style |
μ리먼νΈμ λ΄κΈ΄ λ΄μ© | innerHTML, innerText, textContent |
form μ λ ₯ κ° | value |
μμ μλ¦¬λ¨ΌνΈ | children |
λΆλͺ¨ μλ¦¬λ¨ΌνΈ | parentElement |
μμ λ Έλ | childNodes |
data -* μμ±μ λ΄κΈ΄ κ° | dataset |
μ΄λ²€νΈ | onclick |
μμ μλ¦¬λ¨ΌνΈ vs μμ λ Έλ
• children (μμ μ리먼νΈ)
μμ μ리먼νΈλ λ§ κ·Έλλ‘ νμ¬ μμμ μλ μμ μμλ€μ λ°ννλ κ²μΌλ‘ λΉμμμΌ κ²½μ°λ ν¬ν¨λμ§ μλλ€.
• childNodes (μμ λ Έλ)
νμ¬ μμμ μμ λ Έλκ° ν¬ν¨λ NodeListλ₯Ό λ°ννκ² λλλ° λΉμμμΈ μ£Όμκ°μ κ²λ ν¬ν¨λμ΄ λμ€κ² λλ€.
μ΄λ₯Ό ν΅ν΄ μ μ μλ 건 elementλ Nodeμ μν΄ μλ€λ κ² μ ν μ μλ€.
innerText / innerHTML / textContent
• innerText
νλ©΄μ λ λλ§μ΄ λμ΄μ§κ³ μλ λͺ¨μ΅μΌλ‘ ν μ€νΈκ° 보μ¬μ§λ€.
• innerHTML
ν μ€νΈμ νκ·Έλ€κΉμ§ ν¬ν¨ν λ΄μ©λ€μ΄ λμ€κ² λλ©° μ€μ λ΄μ©μ λ³κ²½ν μ μλ€.
• textContent
μ€μ 곡백μ λͺ¨λ ν¬ν¨ν΄μ 보μ¬μ§λ©° μ€μ λ΄μ©μ λ³κ²½ν μ μλ€.
value
valueλ νΌμ μ λ ₯ν κ°μ λ°μμ¬ λ μ¬μ©νλ€.
μ΄λ°μμΌλ‘ HTML νλ©΄μμ 'νκΈΈλ'μ΄λΌλ κ°μ μ λ ₯νκ² λλ©΄
μ½μμ°½μ valueλ₯Ό μ¬μ©ν΄ νΌμ μ λ ₯λμ΄μ§ 'νκΈΈλ'μ΄λΌλ κ°μ λΆλ¬μ¬ μ μκ² λλ€.
DOM μ‘°μ
κ°λ¨νκ² DOMμ μμ±κ³Ό μ μ λ±μ λν΄μ μμ보μλ€λ©΄ μ΄λ²μλ DOM μ§μ μ¬μ©ν΄λ³΄κ³ μ‘°μν΄ λ³Ό μ μμ΄μΌ νλ€.
Element μμ±
μ리먼νΈλ₯Ό μμ±νλ λ°©λ²μ createElementλ₯Ό μ¬μ©νλ©΄ λλ€.
document.createElement('div'); // 'div'λΌλ μμλ₯Ό λ§λ€κ³ μΆλ€.
Element 첨λΆνκΈ°
appendλ₯Ό μ¬μ©νλ©΄ μμ νλ©΄μ²λΌ κΈ°μ‘΄μ μμλ divνκ·Έλ₯Ό 첨λΆν μ μλ€.
μ΄λ appendλ 'append, preappend, appendchild'κ° μλ€.
• append
μ ν μμμ μμ μμ λ€μ λ΄μ© μ½μ
• prepend
μ ν μμμ μμ μμ μμ λ΄μ© μ½μ
• appendChild
μ ν μμμ μμ μμ λ€μ λ΄μ© μ½μ
append() | appendChild() | |
νμ | μλ°μ€ν¬λ¦½νΈ | DOM |
μΆκ°λ Έλ | μ¬λ¬κ° μΆκ° | λ¨μΌ νλͺ© |
λ¬Έμμ΄ λ Έλ μ§μ | κ°λ₯ | λΆκ°λ₯ (λ Έλκ°μ²΄λ§ κ°λ₯) |
λ¦¬ν΄ κ° | μμ | μΆκ°λ λ Έλ κ°μ²΄ λ°ν |
Element μ‘°ν
• νκ·Έ : getElementsByTagName
• id : getElementById
ν΄λμ€μλ λ¬λ¦¬ μμ΄λλ sκ° λΉ μ Έμλλ° μ΄λ idλ μ체μ κ°μ±μ΄ μμ΄ νλ²λ§ μ¬μ©ν μ μκΈ° λλ¬Έμ 볡μμ sκ° λΉ μ§ κ²μ΄λ€.
• class : getElementsByClassName
• selector : querySelector / querySelectorAll
querySelectorλ κ°μ₯ μ΅μμμ μμλ₯Ό νμΈνκ±°λ ν΄λΉ μμκ° νλμΌλ μ¬μ©νλ©°,
querySelectorAllμ μμκ° μ¬λ¬κ°μΌλ νλ²μ νμΈν λ μ¬μ©νλ€.
Element μμ
• textContent
κΈ°μ‘΄μ μμ±λμ΄μ§ textμ μ¬ν λΉμ΄ κ°λ₯νλ€.
• classList.add
ν΄λμ€λ₯Ό νμμ λ°λΌ μ½μ ν μ μλ€.
Element μμ
• remove
λ Έλλ₯Ό λ©λͺ¨λ¦¬μμ μμ νκ³ μ’ λ£νλ€.
• removeChild
λ Έλλ₯Ό λ©λͺ¨λ¦¬μμ μμ νλ κ²μ΄ μλ λΆλͺ¨ λ Έλμμ μμκ΄κ³λ₯Ό λμ΄
DOM νΈλ¦¬μμ ν΄μ νλ κ²μ΄λ€.