DOM( Document Object Model )
π DOM: ꡬ쑰νλ λ¬Έμ( XML, HTML )λ₯Ό κ°μ²΄ ννλ‘ νννλ λ°©μ
DOM TREE
π DOM: μλ°μ€ν¬λ¦½νΈ μμ§μ΄ HTML μ½λλ₯Ό ν΄μν κ²°κ³Όλ‘ κ°κ°μ νκ·Έκ° μλ°μ€ν¬λ¦½νΈμ node κ°μ²΄λ‘ λ³ν
document κ°μ²΄
π μΉ νμ΄μ§λ₯Ό μλ―Έ
HTML μμμ μ ν
λ©μλ μ¬μ© μμ | μ€ λͺ |
---|---|
document.getElementById(βboxβ) | ν΄λΉ μμ΄λμ μμλ₯Ό μ ν |
document.getElementsByclassName(βlist-itemβ) | ν΄λΉ ν΄λμ€μ μν μμλ₯Ό λͺ¨λ μ ν |
document.getElementsByName(βemailβ) | ν΄λΉ name μμ±κ°μ κ°μ§λ μμλ₯Ό λͺ¨λ μ ν |
document.querySelectorAll(βul > liβ) | ν΄λΉ CSS μ νμλ‘ μ νλλ μμλ₯Ό λͺ¨λ μ ν |
document.querySelector(βheader > #titleβ) | ν΄λΉ CSS μ νμλ‘ μ νλλ μμλ₯Ό 첫 λ²μ§Έ μμ μ ν |
π Elements 볡μν, Allμ κ²½μ° μ¬λ¬ κ°μ μμκ° μ νλμ΄ λ°°μ΄λ‘ λ°ννλ€. μ νλ μμλ€ . μΌλΆλ§ μ¬μ©νκ³ μΆμ κ²½μ° index λ²νΈλ₯Ό μ΄μ©νμ¬ μ κ·Όν μ μλ€.
HTML μμμ μμ± λ° μΆκ°
λ©μλ μ¬μ© μμ | μ€ λͺ |
---|---|
document.createElement(βformβ) | ν΄λΉ νκ·Έμ HTML μμλ₯Ό μμ± |
document.write(βhello worldβ) | ν μ€νΈλ₯Ό νλ©΄μ μΆλ ₯ |
μμ.appendChild(node) | ν΄λΉ μμ λ΄λΆ κ°μ₯ λ§μ§λ§μ node μΆκ° |
π
createElement()
λ‘ μμ±λ λ ΈλλappendChlid()
λ‘ DOMμ μΆκ°νμ§ μμΌλ©΄ μλ°μ€ν¬λ¦½νΈμλ§ μ‘΄μ¬νκΈ° λλ¬Έμ νλ©΄μ 보μ¬μ§μ§ μλλ€ !
HTLM μμμ μ‘°μ
λ©μλ μ¬μ© μμ | μ€ λͺ |
---|---|
μμ.style.μ€νμΌμμ± = β200pxβ | μμμ μ€νμΌ μ‘°ν λ° λ³κ²½ |
μμ.innerHTML = β<li><span>hello</span></li>β | μμ νμμ HTML μ‘°ν λ° λ³κ²½ |
μμ.innerText = βhello Tiaβ | μμ νμμ ν μ€νΈ μ‘°ν λ° λ³κ²½ |
μμ.getAttribute(βplaceholderβ) / μμ.setAttribute(βminβ, β20β) | μμμ HTML μμ± μ‘°ν λ° λ³κ²½ |
μμ.classList = βbutton button-redβ | μμμ class μμ |
Event
HTML μ΄λ²€νΈ
π μ΄λ²€νΈ( event ) ?
μΉ λΈλΌμ°μ κ° μλ €μ£Όλ HTML μμμ λν μ¬κ±΄μ λ°μ
μ΄λ²€νΈ( μ¬κ±΄ )μ΄ λ°μνλ©΄ μ΄μ λ°μνμ¬ νΉμ λμμ μννλ ν¨μκ° μ€νλλ€ !
HTML event
event κ΄λ¦¬νκΈ°
μ¬μ© μμ | μ€ λͺ |
---|---|
μμ.addEventListner(βclickβ, function() {β¦}) | μ΄λ²€νΈκ° λ°μνμ λ μ²λ¦¬λ₯Ό λ΄λΉνλ ν¨μ |
μμ.removeEventListener(βclickβ, function() {β¦}) | μ΄λ²€νΈλ₯Ό μ κ±°ν λ μ²λ¦¬λ₯Ό λ΄λΉνλ ν¨μ |
<μμ onclick=βhandler()β /> | μμμ βonμ΄λ²€νΈλͺ β μμ±μ λμ μΆκ°νλ λ°©λ² |
μμ.onclick = function() {β¦} | node κ°μ²΄ νλ‘νΌν°μ νΈλ€λ¬ ν¨μλ₯Ό λ±λ‘νλ λ°©λ² |
event κ°μ²΄
π μ΄λ²€νΈ νΈλ€λ¬ ν¨μμ 첫 λ²μ§Έ μΈμλ‘ μ λ¬λλ κ°μ²΄: ν΄λΉ μ΄λ²€νΈμ λν μ 보μ κΈ°λ₯μ΄ λ΄κΉ
event propagation
π λΈλΌμ°μ μμ μ΄λ²€νΈκ° λ°μνμ λ, μ΄λ²€νΈκ° DOM νΈλ¦¬ λ΄μμ μ΄λ»κ² μ νλλκ°? μ λν κ°λ μΌλ‘ Capturing( μΊ‘μ²λ§ ), Target( νκΉ ), Bubbling( λ²λΈλ§ ) 3κ°μ§ λ¨κ³λ‘ λλλ€.
Capturing( μΊ‘μ²λ§ )
μ΄λ²€νΈκ° μ΅μμ λΆλͺ¨ μμμμλΆν° μμν΄ νμ μμλ‘ λ΄λ €κ°λ©΄μ λ°μνλ λ¨κ³
Target( νκΉ )
μ΄λ²€νΈκ° μ€μ λ‘ λ°μν μμμμ μ€νλλ λ¨κ³λ‘ μμμμ λ°μν μ΄λ²€νΈλ₯Ό μ²λ¦¬
Bubbling( λ²λΈλ§ )
νκΉμμ μ΄λ²€νΈ μ²λ¦¬κ° λλ ν λ€μ λΆλͺ¨ μμλ‘ μ΄λ²€νΈκ° μ ν
π
event.stopPropagation()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄λ²€νΈ λ²λΈλ§μ λ§μ μ μλ€.