์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Pandas
- ์๋ฐ๊ณต๋ถ
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- db
- ์๋ฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์๋๋ก์ด๋ ์คํ๋์ค
- streamlit
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ์น๋์๋ณด๋ ๊ธฐ์ด
- serverless
- Android
- ์คํธ๋ฆผ๋ฆฟ
- java
- Streamlit๊ธฐ์ด
- ํ๋ค์ค
- MySQL
- JavaScript
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ํ์ด์ฌ๊ณต๋ถ
- ์น๋์๋ณด๋ ์ ์
- ํ์ด์ฌ
- RESTful API
- ํ๋ค์ค๊ณต๋ถ
- Streamlit๊ธฐ๋ณธ
- ์๋ฐ์ด๋ณด
- Matplotlib ๊ธฐ์ด
- ์๋ฐ๊ธฐ์ด
- ์๋ฐ์คํฌ๋ฆฝํธ
- Today
- Total
ruriruriya
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ - DOM์ด๋? ๋ณธ๋ฌธ
์๋ฐ์คํฌ๋ฆฝํธ์ DOM(Document Object Model)์ด๋? HTML ๋ฐ XML ๋ฌธ์์ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค์ด๋ค.
DOM์ ๋ฌธ์์ ๊ตฌ์กฐ์ ํํ์ ์ ๊ณตํ๊ณ ํ๋ก๊ทธ๋จ์ด ๋ฌธ์ ๊ตฌ์กฐ, ์คํ์ผ ๋ฐ ๋ด์ฉ์ ๋ณ๊ฒฝํ ์ ์๋๋ก ํ๋ค.
์น ํ์ด์ง๋ฅผ ๋ธ๋ผ์ฐ์ ์์ ๋ ๋๋งํ ๋, ๋ธ๋ผ์ฐ์ ๋ HTML ๋ฌธ์๋ฅผ DOM์ผ๋ก ๋ณํํ๋ค.
์ด DOM์ ๋ฌธ์์ ๋ชจ๋ ์์, ์์ฑ ๋ฐ ํ ์คํธ๋ฅผ ๋ ธ๋๋ก ๋ํ๋ด๋ ๊ณ์ธต์ ์ธ ํธ๋ฆฌ ๊ตฌ์กฐ์ด๋ค.
DOM์ ์ฃผ์ ๊ฐ๋
1. ๋ ธ๋
DOM์ ๊ธฐ๋ณธ ์์๋ก, ๋ฌธ์์ ๋ชจ๋ ๋ถ๋ถ(์์, ์์ฑ, ํ ์คํธ ๋ฑ)์ด ๋ ธ๋์ด๋ค. ๊ฐ ๋ ธ๋๋ ๋ค๋ฅธ ๋ ธ๋์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ด๋ฐ ๊ด๊ณ๋ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ํํ๋๋ค.
2. ์์ ๋ ธ๋
HTML ํ๊ทธ์ ํด๋นํ๋ ๋ ธ๋๋ก <.div>, <p>,<span> ๋ฑ์ด ์๋ค. ์์ ๋ ธ๋๋ ์์ฑ ๋ ธ๋์ ํ ์คํธ ๋ ธ๋๋ฅผ ํฌํจํ ์ ์๋ค.
3. ์์ฑ ๋ ธ๋
์์์ ์์ฑ์ ๋ํ๋ด๋ฉฐ, ์์ ๋ ธ๋์ ์ฐ๊ฒฐ๋๋ค.
4. ํ ์คํธ ๋ ธ๋
HTML ์์ ๋ด์ ์ค์ ํ ์คํธ๋ฅผ ํฌํจํ๋ ๋ ธ๋์ด๋ค.
DOM ์กฐ์
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ DOM ์ ์กฐ์ํ์ฌ ์์๋ฅผ ์ถ๊ฐ/์ญ์ /์์ ํ๊ฑฐ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ฐ๊ฒฝํ๋ ๋ฑ, ๋์ ์ผ๋ก ํ์ด์ง์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ฌ์ฉ์์ ์ํธ์์ฉ์ ๋ฐ์ํ ์ ์๋ค.
[์์ ์ถ๊ฐ]
// ์๋ก์ด <p> ์์ ์์ฑ
var newParagraph = document.createElement("p");
var paragraphText = document.createTextNode("์๋
ํ์ธ์, DOM!");
newParagraph.appendChild(paragraphText);
// <body> ํ๊ทธ ์์ ์๋ก์ด <p> ์์ ์ถ๊ฐ
document.body.appendChild(newParagraph);
[์์ ์คํ์ผ ๋ณ๊ฒฝ]
// ํน์ ์์ ์ ํ
var myElement = document.getElementById("myElement");
// ์์์ ์คํ์ผ ๋ณ๊ฒฝ
myElement.style.color = "red";
[์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ถ๊ฐ]
var button = document.getElementById("myButton");
button.addEventListener("click", function() {
alert("๋ฒํผ์ด ํด๋ฆญ๋์์ต๋๋ค!");
});