λ€λ£¨λ λ΄μ©
- μ νμ API μ λν μ΄ν΄
- HTML5 DOM νμ₯ μ¬μ©
- λΈλΌμ°μ μ μ© DOM νμ₯ μ¬μ©
1. μ νμ API
- CSS μ νμλ‘ ν¨ν΄μ λ§λ€κ³ κ·Έμ λ§λ DOM μμλ₯Ό μ ννλ λ₯λ ₯
- (Ex. jQuery)
1-1 querySelector()
-
CSS 쿼리λ₯Ό λ°κ³ ν¨ν΄μ μΌμΉνλ 첫 λ²μ§Έ μμ μμλ₯Ό λ°ν μμΌλ©΄ null
1 2 3 4 5 6 7
var body = document.querySelector('body'); // ID κ° 'div1' μΈ μμ var div1 = document.querySelector('#div1'); // ν΄λμ€κ° selected μΈ κ² μ€ μ²« λ²μ§Έ var selected = document.querySelector('.selected')
-
Document νμ μμ νΈμΆνλ©΄ ν¨ν΄μ λ§λ μμλ₯Ό λ¬Έμμμ μ°ΎμΌλ©° Element νμ μμ νΈμΆνλ©΄ ν΄λΉ μμμ μμμμλ§ μΏΌλ¦¬
1-2 querySelectorAll()
-
querySelector() μ λΉμ·νλ μΌμΉνλ λ Έλ μ 체λ₯Ό λ°ν
-
μ²μ μ κ·Όν μνμ NodeList μ μ μ μΈμ€ν΄μ€ λ°ν
1 2 3
var ems = document.getElementById('myDiv').querySelectorAll('em'); var selecteds = document.querySelectorAll('.selected');
2. HTML5
- λ§ν¬μ μΈμ΄μ ν¨κ» μ¬μ©νλλ‘ λμμΈλ μλ°μ€ν¬λ¦½νΈ API λ₯Ό μμΈν μ€λͺ νκ³ μ μ
2-1 ν΄λμ€ κ΄λ ¨
-
getElementsByClassName()
- ν΄λμ€ μ΄λ¦ λ¬Έμμ΄μ 맀κ°λ³μλ‘ λ°μ
- ν΄λΉ ν΄λμ€λ₯Ό κ°λͺ¨λ κ°μ§ μμμ NodeList λ°ν
1 2 3
// div1 μ μμ μ€ selected ν΄λμ€κ° μλ μμλ₯Ό λͺ¨λ μ°Ύμ var selected = document.getElementById('div1') .getElementByClassName('selected');
-
classList νλ‘νΌν°
- ν΄λμ€ μ΄λ¦μ μμ νκ³ λ¨μνκ² μ‘°μ κ°λ₯
- DOMTokenListλ 컬λ μ νμ μ μΈμ€ν΄μ€
- add(value) - μ£Όμ΄μ§ λ¬Έμμ΄ κ°μ λͺ©λ‘μ μΆκ°
- contains(value) - μ£Όμ΄μ§ κ°μ΄ λͺ©λ‘μ μ‘΄μ¬νλ©΄ ? true : false
- remove(value) - μ£Όμ΄μ§ λ¬Έμμ΄ κ°μ λͺ©λ‘μμ μ κ±°
- toggle(value) - κ°μ΄ λͺ©λ‘μ μ‘΄μ¬νλ©΄ ? μ κ±° : μΆκ°
1 2 3 4 5 6 7 8 9 10 11 12 13
// disabled ν΄λμ€ μ κ±° div.classList.remove('disabled'); // current ν΄λμ€ μΆκ° div.classList.add('current'); // user ν΄λμ€ ν κΈ div.classList.toggle('user'); // bd ν΄λμ€ ν¬ν¨μ¬λΆ νμΈ if(div.classList.contains('bd')) { // do Something }
2-2 ν¬μ»€μ€ κ΄λ¦¬
-
μ¬μ©μκ° μ§κΈ νμ΄μ§λ₯Ό λ³΄κ³ μλμ§ μ μ μμ
-
document.activeElement, focus()
1 2 3 4
var button = document.getElementById('myButton'); button.focus(); console.log(document.activeElement === button); // treu console.log(document.hasFocus()); // true
2-3 HTMLDocumentμ λ³ν
- readyState : λ¬Έμλ₯Ό λΆλ¬μλμ§ νμΈ
- loading - λ¬Έμλ₯Ό λΆλ¬μ€λ μ€
- complete - λ¬Έμλ₯Ό μμ ν λΆλ¬μ΄
2-4 컀μ€ν λ°μ΄ν° μμ±
-
λ λλ§μ νμν μ 보λ μλ©ν± κ°μ΄ μλ λ°μ΄ν°λ₯Ό μ λμ¬
data-
κ° λΆμ λΉνμ€ μμ±μ μ 곡 -
dataset νλ‘νΌν°λ‘ μ κ·Ό κ°λ₯
1 2 3 4 5 6
<div id="myDiv" data-appId="111" data-myName="snack"></div> var div = document.getElementById("myDiv"); var appId = div.dataset.appId; var myName = div.dataset.myName;
-
μμμ λ°μ΄ν°λ₯Ό μ°κ²°ν΄μΌ νμ§λ§, μ¬μ©μμκ²λ 보μ΄κ³ μΆμ§ μμ λ μ μ©
2-5 λ§ν¬μ μ½μ
-
innerHTML
- μ½κΈ°λͺ¨λλ‘ μ¬μ© μ μμμ μ£Όμ, ν μ€νΈ λ Έλ λ±μ μμ λ Έλλ₯Ό λͺ¨λ λνλ΄λ HTML ννμ λ°ν (μ§λ ¬ν ν λ¬Έμμ΄λ‘ λ°ν)
- μ°κΈ° λͺ¨λλ‘ μ¬μ© μ μ£Όμ΄μ§ κ°μ λ°νμΌλ‘ μμ λ Έλλ₯Ό κ΅μ²΄
<script>
λ‘ μ½μ λ κ²μ μ€νλμ§ μμ
-
outerHTML
- νΈμΆν HTML μμλ₯Ό μμ λ Έλμ ν¨κ» λ°ν
|
|
-
insertAdjacentHTML
- beforebegin - λ°λ‘ μ μ½μ
- afterbegine - 첫 λ²μ§Έ μμμΌλ‘ μ½μ
- beforeend - λ§μ§λ§ μμμΌλ‘ μ½μ
- afterend - λ°λ‘ λ€μ μ½μ
-
λ©λͺ¨λ¦¬μ μ±λ₯ λ¬Έμ
- μμμ μ΄λ²€νΈ νΈλ€λ¬ μ¬μ΄μ μ°κ²°μ΄ λ©λͺ¨λ¦¬μ λ¨κΈ° λλ¬Έμ, μμ λ©μλλ₯Ό μ¬μ©ν λ μ κ±°ν μμμ μ΄λ²€νΈ νΈλ€λ¬λ μλ°μ€ν¬λ¦½νΈ κ°μ²΄ νλ‘νΌν°λ₯Ό λͺ¨λ μ κ±°ν΄μΌ ν¨
2-6 scrollIntoView()
-
λΈλΌμ°μ μ°½μ΄λ 컨ν μ΄λ μμλ₯Ό μ€ν¬λ‘€ν΄μ ν΄λΉ μμκ° λ·°ν¬νΈμ 보μ΄κ² ν¨
1 2
//forms[0] μμλ‘ μ΄λ document.forms[0].scrollIntoView();
3. μ μ© νμ₯
3-1 λ¬Έμλͺ¨λ
- IEμμ λμ ν κ°λ μΌλ‘ κ° λͺ¨λλ§λ€ CSS, μλ°μ€ν¬λ¦½νΈ κΈ°λ₯μ΄ λ€λ¦
- document.documentMode
- νΉμ λ¬Έμ λͺ¨λλ₯Ό κ°μ ν μ μμΌλ©°, νμ΄μ§κ° μ΄λ»κ² λμν μ§ ννΈλ₯Ό μ»μ μ μμ
3-2 children νλ‘νΌν°
- μμμ μμ μμλ§ ν¬ν¨νλ HTMLCollection
- μμμΈ λ Έλλ§ ν¬ν¨νλ€λ μ μ μ μΈνλ©΄ childNodes μ κ°μ
3-3 contains()
-
μ£Όμ΄μ§ λ Έλκ° λ€λ₯Έ λ Έλμ μμμΈμ§ νμΈ κ°λ₯
1
document.documentElement.contains(document.body); // true
3-4 innerText, outterText
- ν μ€νΈ λ Έλλ₯Ό λͺ¨λ κ²°ν©ν κ°μ λ°ν
|
|
- νμ΄μ΄νμ€ μμλ textContent
- outterText μ κ²½μ° μμ μ νΈμΆν μμ μ 체λ₯Ό λ³κ²½νκΈ°μ μ¬μ©μ μ§μ
3-5 μ€ν¬λ‘€
- scrollIntoViewIfNeeded(alignCenter) - νΈμΆν μμκ° λ·°ν¬νΈμμ 보μ΄μ§ μμ κ²½μ°λ§ ν΄λΉ μμλ‘ μ΄λ
- ν¬λ‘¬, μ€νλΌ μ¬νλ¦¬λ§ κ΅¬ν
- scrollByLines(lineCount) - lineCount μ μ«μ λ§νΌ μ€ν¬λ‘€
- νμ΄μ΄ νμ€μμλ§ κ΅¬ν (μ°Έκ³ )
- scrollByPages(pageCount) - pageCount μ μ«μ λ§νΌ νμ΄μ§ μ€ν¬λ‘€
- νμ΄μ΄ νμ€μμλ§ κ΅¬ν (μ°Έκ³ )
- λͺ¨λ λΈλΌμ°μ μμ μ§μνλ κ²μ scrollIntoView() μ΄λ―λ‘ λ³΄ν΅ μ΄ λ©μλλ§ μ¬μ©