ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฐ˜์‘ํ˜•

1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ

๋ฉ”์†Œ๋“œ ์˜๋ฏธ ๊ฒฐ๊ณผ
document.getElementById('id') HTML id์†์„ฑ์œผ๋กœ
ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ
id์— ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ ํ•˜๋‚˜
document.getElementsByClassName('class') HTML class์†์„ฑ์œผ๋กœ
ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ
class์— ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ ๋ชจ์Œ(HTMLCollection)
document.getElementsByTagName('tag') HTML ํƒœ๊ทธ ์ด๋ฆ„์œผ๋กœ
ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ
tag์— ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ ๋ชจ์Œ(HTMLCollection)
document.querySelector('css') css ์„ ํƒ์ž๋กœ
ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ
css ์„ ํƒ์ž์— ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ ์ค‘ ๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ํƒœ๊ทธ ํ•˜๋‚˜
document.querySelectorAll('css') css ์„ ํƒ์ž๋กœ
ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ
css ์„ ํƒ์ž์— ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ ๋ชจ์Œ (NodeList)

 

2. ์œ ์‚ฌ ๋ฐฐ์—ด์ด๋ž€?

  • ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌํ•œ ๊ฐ์ฒด ex) HTMLCollection, NodeList, DOMTokenList, ...

ํŠน์ง•

  1. ์ˆซ์ž ํ˜•ํƒœ์˜ indexing์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  2. lengthํ”„๋กœํผํ‹ฐ๊ฐ€ ์žˆ๋‹ค.
  3. ๋ฐฐ์—ด์˜ ๊ธฐ๋ณธ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  4. Array.isArray(์œ ์‚ฌ๋ฐฐ์—ด)์˜ ๋ฆฌํ„ด๊ฐ’์€false๋‹ค.

3. ์ด๋ฒคํŠธ์™€ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ

  • ์ด๋ฒคํŠธ : ์›น ํŽ˜์ด์ง€์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ผ(์‚ฌ๊ฑด)๋“ค ex) ๋ฒ„ํŠผ ํด๋ฆญ, ์Šคํฌ๋กค, ํ‚ค๋ณด๋“œ ์ž…๋ ฅ, ...
  • ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ์ด๋ฒคํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ์ผ
  • ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ : ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ผ์–ด๋‚˜์•ผํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ๋™์ž‘๋“ค์„ ํ‘œํ˜„ํ•œ ์ฝ”๋“œ. ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ(Event Listener)๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

 

4. ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋“ฑ๋กํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•

4-1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํ•ด๋‹น DOM ๊ฐ์ฒด์˜ onclick ํ”„๋กœํผํ‹ฐ์— ๋“ฑ๋กํ•˜๊ธฐ

const btn = document.querySelector('#myBtn'); 
btn.onclick = function() { 
    console.log('Hello Codeit!'); 
};

4-2. HTML ํƒœ๊ทธ์˜ onclick ์†์„ฑ์— ๋ฐ”๋กœ ํ‘œ์‹œํ•˜๊ธฐ

<button id="myBtn" onclick="console.log('Hello Codeit!')">ํด๋ฆญ!</button>
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€