๐Ÿ’ก DOM (Document Object Model)

์›น ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐํ™”๋œ ๋ฌธ์„œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ,

HTML, XML ๋˜๋Š” XHTML ๋ฌธ์„œ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.

 

์›น ํŽ˜์ด์ง€์˜ ์š”์†Œ(element)๋“ค์„ ๊ฐ์ฒด๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ,

์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋“ค์„ JavaScript๋ฅผ ํ†ตํ•ด ๋™์ ์œผ๋กœ ์กฐ์ž‘ํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณต๋œ๋‹ค.

 

 

DOM์˜ ๊ธฐ๋ณธ ๊ฐœ๋…

๐Ÿ“ ์›น ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ์š”์†Œ๋“ค์„ ๊ฐ์ฒด(Object)๋กœ ์ทจ๊ธ‰๋œ๋‹ค.

๐Ÿ“ ๋ฌธ์„œ ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ๋“ค์€ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ์š”์†Œ๋“ค์„ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š”๋‹ค.

๐Ÿ“ JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ํŽ˜์ด์ง€์˜ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์•„๋ž˜์˜ HTML ์ฝ”๋“œ๋ฅผ JavaScript๋กœ ์กฐ์ž‘ํ•ด๋ณด์ž.

<!DOCTYPE html>
<html>
<head>
    <title>My Web Page</title>
</head>
<body>
    <h1>Title</h1>
    <p>This is a paragraph.</p>
    <button id="myButton">Click Me</button>
</body>
</html>

์œ„ HTML ๋ฌธ์„œ์—๋Š” 'h1', 'p'. 'button' ํƒœ๊ทธ ๋“ฑ์˜ ์š”์†Œ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์š”์†Œ๋“ค์€ DOM์— ์˜ํ•ด ๊ฐ์ฒด๋กœ ํ‘œํ˜„๋œ๋‹ค.

 

์•„๋ž˜ JavaScript ์ฝ”๋“œ๋กœ ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ "Hello, World!"๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์ž.

// ๋ฒ„ํŠผ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜์—ฌ ํด๋ฆญ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋“ฑ๋ก
document.getElementById('myButton').addEventListener('click', function() {
    alert('Hello, World!');
});

์œ„ ์ฝ”๋“œ์—์„œ document๋Š” DOM์˜ ์ตœ์ƒ์œ„ ๊ฐ์ฒด๋กœ,

์›น ํŽ˜์ด์ง€์˜ ์ „์ฒด ๋ฌธ์„œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

getElementById ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด myButton์ด๋ผ๋Š” ID๋ฅผ ๊ฐ€์ง„ ์š”์†Œ,

์ฆ‰ ๋ฒ„ํŠผ์„ ์„ ํƒํ•˜๊ณ 

 

addEventListener ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ํด๋ฆญ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋“ฑ๋กํ•œ๋‹ค.

ํด๋ฆญ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ•ด๋‹น ๋ฒ„ํŠผ์ด ์„ ํƒ๋˜์—ˆ์œผ๋ฏ€๋กœ "Hello, World!"๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

'JavaScript > ๋ฉ”๋ชจ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JavaScript] JavaScript์™€ jQuery  (0) 2023.07.26