DOM μμμ μ κ·Όνκ³ μμ± κ°μ Έμ€κΈ°
DOMμ μ κ·ΌνκΈ°
CSSμμλ class, id, νκ·Έ λ±μ μ€νμΌμ κ°κ° ꡬλ³ν΄μ μ μν΄μΌ νλ€.
μ΄λ class, id, νκ·Έ λ±μ μ νμ(selector)λΌκ³ νλ€.
μ΄ μ νμλ₯Ό μ¬μ©ν΄μ DOMμ μ κ·Όνλ λ°©λ²μ μμ보μ.
id μ νμλ‘ μ κ·Όνλ getElementByld() λ©μλ
HTML νκ·Έμ id μμ±μ HTML μμκ° λ¬Έμ μμμ μ€λ³΅λμ§ μλλ‘ μ¬μ©νλ CSS μ νμμ΄λ€.
λ€μκ³Ό κ°μ΄ getElementById() λ©μλλ₯Ό μ΄μ©νλ©΄ νΉμ ν idκ° ν¬ν¨λ DOM μμμ μ κ·Όν μ μλ€.
μμλͺ
.getElementById("idλͺ
")
μλ₯Ό λ€μ΄ idκ°μ΄ headingμΈ μμμ μ κ·Όνλ €λ©΄ λ€μκ³Ό κ°μ΄ μ¬μ©νλ€.
document.getElementById("heading")
classκ°μΌλ‘ μ κ·Όνλ getElementsByClassName() λ©μλ
getElementsByClassName() λ©μλλ μ§μ ν class μ νμ μ΄λ¦μ΄ λ€μ΄ μλ DOM μμμ μ κ·Όνλ€.
μμλͺ
.getElementsByClassName("classλͺ
")
class μ νμλ μΉ λ¬Έμ μμ μ¬λ¬ μμμμ μ¬μ©ν μ μμΌλ―λ‘ getElementsByClassName() λ©μλλ₯Ό μ¬μ©νλ©΄ λ°ννλ μμκ° 2κ° μ΄μμΌ μ μλ€.
κ·Έλμ μ΄ λ©μλ μ΄λ¦μλ λ°ν μμκ° μ¬λ¬ κ°λΌλ λ»μμ Elementμ sλ₯Ό λΆμΈ κ²μ΄λ€.
μλ₯Ό λ€μ΄ μΉ λ¬Έμμμ class="bright" μμ±μ΄ μλ μμλ₯Ό λͺ¨λ μ°ΎμΌλ €λ©΄ λ€μκ³Ό κ°μ΄ μ¬μ©νλ€.
document.getElementsByClassName("bright")
μ΄ κ²°κ³Ό ν΄λμ€ μ΄λ¦μ΄ κ°μ DOM μμλ€μ΄ HTMLCollection κ°μ²΄λ‘ μ μ₯λλ€.
HTMLCollection κ°μ²΄λ λ°°μ΄κ³Ό λΉμ·νκ³ λ°°μ΄μ²λΌ μ¬μ©ν μ μλ€. νμ§λ§ λ°°μ΄μ μλλ€.
νκ·Έ μ΄λ¦μΌλ‘ μ κ·Όνλ getElementsByTagName() λ©μλ
classλ idλ₯Ό μ§μ νμ§ μμ DOM μμμ μ κ·Όνλ €λ©΄ νκ·Έλ₯Ό μ΄μ©νλ€.
getElementsByTagName() λ©μλ€λ λ€μκ³Ό κ°μ΄ μ§μ ν νκ·Έλͺ μ μ¬μ©ν DOM μμμ μ κ·Όν μ μλ€.
μμλͺ
.getElementsByTagName("νκ·Έλͺ
")
μΉ λ¬Έμ μμμ κ°μ νκ·Έλ₯Ό μ¬μ©νλ μμκ° 2κ° μ΄μμΌ μ μμΌλ―λ‘ getElementsByTagName() λ©μλκ° λ°ννλ κ°λ HTMLCollection ννλ‘ μ μ₯λλ€.
μλ₯Ό λ€μ΄ μΉ λ¬Έμμμ <p> νκ·Έλ₯Ό μ¬μ©ν λͺ¨λ μμμ μ κ·Όνλ €λ©΄ λ€μκ³Ό κ°μ΄ μ¬μ©νλ€.
document.getElementsByTagName("p")
λ€μν λ°©λ²μΌλ‘ μ κ·Όνλ querySelector(), querySelectorAll() λ©μλ
μμμ μ΄ν΄λ³Έ getElementById(), getElementsByClassName(), getElementsByTagName() λ©μλμ λ°νκ°μ HTMLCollection κ°μ²΄μ΄λ€.
μ¬κΈ°μλ HTMLμμ('p' λ 'a' κ°μ νν)λ§ μ μ₯λλ€.
DOM νΈλ¦¬μ ν μ€νΈ, μμ± λ ΈλκΉμ§ μμ λ‘κ² μ μ΄νλ €λ©΄ querySelector(), querySelectorAll() λ©μλλ₯Ό μ¬μ©ν΄μΌ νλ€.
id μ νμμ²λΌ λ°νκ°μ΄ νλλΌλ©΄ querySelector() λ©μλλ₯Ό μ¬μ©νκ³ , class μ νμλ νκ·Έ μ΄λ¦μ μ¬μ©νμ¬ μ¬λ¬ κ°μ΄ νκΊΌλ²μ λ°νλ κ²½μ°μλ querySelectorAll() λ©μλλ₯Ό μ¬μ©νλ€.
λ
Έλ.querySelector(μ νμ)
λ
Έλ.querySelectorAll(μ νμ λλ νκ·Έ)
querySelector(), querySelectorAll() λ©μλμμ μ νμλ₯Ό νμν λ id μ΄λ¦ μμλ ν΄μκΈ°νΈ(#)λ₯Ό λΆμ΄κ³ , class μ΄λ¦ μμλ λ§μΉ¨ν(.)λ₯Ό λΆμΈλ€. νκ·Έλ κΈ°νΈ μμ΄ νκ·Έλͺ λ§ μ°λ©΄ λλ€.
querySelector() λ©μλμμ class μ΄λ¦μΌλ‘ μ κ·Όν λλ class μ΄λ¦μ μ¬μ©ν μ¬λ¬ μμ μ€μμ 첫 λ²μ§Έ μμλ§ λ°ννλ€.
querySelector("#heading") // id="heading" μΈ μμ
querySelectorAll(".bright") // class="bright"μΈ μμ
querySelector(), querySelectorAll() λ©μλμ λ°νκ°μ λ Έλμ΄κ±°λ λ Έλ 리μ€νΈμ΄λ€.
λ Έλ 리μ€νΈλ λ Έλλ₯Ό νκΊΌλ²μ μ¬λ¬ κ° μ μ₯ν κ²μΌλ‘ λ°°μ΄κ³Ό λΉμ·νλ€κ³ μκ°νλ©΄ λλ€.
μΉ μμμ λ΄μ©μ μμ νλ innerText, innerHTML νλ‘νΌν°
μλ°μ€ν¬λ¦½νΈμμλ μΉ μμμ λ΄μ©λ μμ ν μ μλ€.
κ°μ₯ μ¬μ΄ λ°©λ²μ innerTextνλ‘νΌν°λ innerHTML νλ‘νΌν°λ₯Ό μ΄μνλ κ²μ΄λ€.
μ΄λ¦λ§ λ΄λ μ μ μλ―μ΄, innerText νλ‘νΌν°λ ν μ€νΈ λ΄μ©μ νμνκ³ innerHTML νλ‘νΌν°λ HTML νκ·ΈκΉμ§ λ°μνμ¬ νμνλ€.
μμλͺ
.innerText = λ΄μ©
μμλͺ
.innerHTML = λ΄μ©
λ€μμ Date κ°μ²΄λ₯Ό μ¬μ©ν΄μ νμ¬ λ μ§μ μκ°μ λνλ΄λ μμ μ΄λ€.
λ μ§μ μκ°μ κ·Έλλ‘ innerText νλ‘νΌν°λ‘ νμν λμ innerHTML νλ‘νΌν°λ‘ <em> νκ·Έμ κ°μ΄ νμν λ μ΄λ€ μ°¨μ΄κ° μλμ§ μ΄ν΄λ³΄μ.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>innerText, innerHTML νλ‘νΌν°</title>
</head>
<body>
<button onclick="inntext()">innerTextλ‘ νμνκΈ°</button>
<button onclick="innhtml()">innerHTMLλ‘ νμνκΈ°</button>
<h1>νμ¬ μκ°: </h1>
<div id="current"></div>
<script>
var now = new Date();
function inntext(){
document.getElementById("current").innerText = now;
}
function innhtml() {
document.getElementById("current").innerHTML = "<em>" + now + "</em>";
}
</script>
</body>
</html>
μμ±μ κ°μ Έμ€κ±°λ μμ νλ getAttribute(), setAttribute() λ©μλ
μΉ μμλ₯Ό λ¬Έμμ μ½μ ν λ νκ·Έ μμ±μ ν¨κ» μ¬μ©νλ©΄ DOM νΈλ¦¬μ μμ± λ Έλκ° μΆκ°λλ©΄μ μμ±κ°μ΄ μ μ₯λλ€.
μ΄λ μμ±μ μ κ·Όνλ €λ©΄ getAttribute() λ©μλλ₯Ό μ¬μ©νκ³ , μ κ·Όν μμ±μ κ°μ λ°κΎΈλ €λ©΄ setAttribute() λ©μλλ₯Ό μ¬μ©νλ€.
μμ±μ κ°μ Έμ€λ €λ©΄ λ€μκ³Ό κ°μ΄ getAttrubyte() λ©μλμμ μμ±λͺ μ μ§μ νλ€.
getAttribute("μμ±λͺ
")
setAttribute() λ©μλλ₯Ό μ¬μ©νλ©΄ μνλ μμ±κ°μΌλ‘ μ§μ ν μ μλ€.
μμ±κ°μ΄ μ΄λ―Έ μλ€λ©΄ μλ‘μ΄ μμ±κ°μΌλ‘ μμ νκ³ , μμ§ ν΄λΉ μμ±μ΄ μλ€λ©΄ μμ±κ³Ό μμ±κ°μ μλ‘ μΆκ°νλ€.
setAttribute("μμ±λͺ
", "κ°")
λ€μμ id="cup"μΈ μ΄λ―Έμ§μ src μμ±κ°μ κ°μ Έμ€λ μμ μ΄λ€.
ν° μ΄λ―Έμ§λ₯Ό ν΄λ¦νλ©΄ κ·Έ μ΄λ―Έμ§μ κ²½λ‘ μμ±μ κ°μ Έμ μλ¦Ό μ°½μ νμνλ€.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>innerText, innerHTML νλ‘νΌν°</title>
</head>
<body>
<img src="images/EiffleTower.jpg" alt="ET" onclick="DisplaySrc()" id="et">
<script>
function DisplaySrc(){
var et=document.querySelector("#et");
alert("μ΄λ―Έμ§ μμ€: "+ et.getAttribute("src"));
}
</script>
</body>
</html>