컬λ μ (Collection)μ΄λ?
컬λ μ μ μλ°μ€ν¬λ¦½νΈ DOMμ 곡λΆνλ©΄μ κ³μ 보λ λ¨μ΄μλλ° μλΏμ§ μμλ€.
gpt λμμΌλ‘ μ΄ν΄κ° λμ΄ κΈ°λ‘μ©μΌλ‘ μ μ΄λ³Έλ€.
μ λ§ μμ μ§μμ΄λ λ κΉκ² λ€μ΄κ°κ³ μΆμΌλ©΄ μ¬μμΉκ° νμνλ€π
https://ko.javascript.info/searching-elements-dom μμ
μ documnet.getElementsByTagName('input').value = 5;
λ λμνμ§ μμκΉ? μ λν΄μ μ§λ¬Έμ μμνλ€.
1. document.getElementsByTagName('input') μ΄λ
μ΄ μ½λλ HTML λ¬Έμ μ 체μμ <input> νκ·Έλ₯Ό λͺ¨λ μ°Ύμμ€λ€.
μλ₯Ό λ€μ΄ μλμ κ°μ HTML μλ€κ³ κ°μ .
<input type="text">
<input type="number">
<input type="password">
μ΄λ
let inputs = document.getElementsByTagName('input');
inputs λ³μμλ λͺ¨λ <input> μμκ° λ΄κΈ΄ λ¬Άμ(컬λ μ , Collection) μ΄ λ€μ΄κ°κ² λλ€.
2. 컬λ μ μ΄λ?
- μ¬λ¬ κ°μ DOM μμλ₯Ό ν λ°κ΅¬λμ λ΄μλμ λ°°μ΄ λΉμ·ν μλ£κ΅¬μ‘° λΌκ³ μκ°νλ©΄ λλ€.
- JSμμλ μ νν HTMLCollection(λλ NodeList) λΌκ³ λΆλ₯Έλ€.
(HTMLCollectionκ³Ό NodeListλ λΉμ·νλ©΄μλ λ λ€λ¦! μ°μ μ΄λ κ² μκ°νμ)
μλ₯Ό λ€μ΄ μ inputsμ κ²°κ³Όλ
[<input type="text">, <input type="number">, <input type="password">]
μ²λΌ μ¬λ¬ input νκ·Έκ° λ¬ΆμμΌλ‘ λ΄κΈ΄ κ²μ΄λ€.
3. μ `value = 5;` κ° μλλκ°?
- μ΄μ 1
- `document.getElementsByTagName('input')` μ κ²°κ³Όλ μ¬λ¬ κ°μ input μμλ₯Ό λ΄μ 컬λ μ (HTMLCollection) μ΄μ§, input μμ κ·Έ μμ²΄κ° μλλ€.
- μ΄μ 2
- `.value`λ input μμ νλμλ§ μΈ μ μλ μμ±μ΄λ€. 컬λ μ μ 체μλ `.value` λΌλ μμ±μ΄ μλ€.
- λ§μΌ κ°μ λ£μ΄μ£Όκ³ μΆλ€λ©΄,
const input = document.getElementsByTagName('input');
// 첫 λ²μ§Έ inputμλ§ value κ° λ£κΈ°
document.getElementsByTagName('input')[0].value = 5;
// λ°λ³΅λ¬ΈμΌλ‘ λͺ¨λ μ μ©1
for(let i = 0; i < inputs.length; i++) {
inputs[i].value = 5;
}
// λ°λ³΅λ¬ΈμΌλ‘ λͺ¨λ μ μ©2
for(let input of inputs) {
input.value = 5;
}
4. μ 리 - 컬λ μ μ΄λ
- 컬λ μ μ μ¬λ¬ μμλ₯Ό λ΄μ λ°κ΅¬λλ€. μ΄ λ°κ΅¬λμ λ°λ‘ value κ°μ μ€ μ μλ€. λ°κ΅¬λ μ 물건(input) κ°κ°μ value κ°μ μ€μΌ νλ€.