์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 31 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
[16] 230118 Ch. 10 ์๋ฐ์คํฌ๋ฆฝํธ DOM๊ณผ ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์ ๋ ฅ ๊ฒ์ฆ: 1. ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(DOM), 2. HTML ์์ ์ฐพ๊ธฐ, 3. HTML ๋ณ๊ฒฝํ๊ธฐ [K-๋์งํธ ํธ๋ ์ด๋ 16์ผ] ๋ณธ๋ฌธ
[16] 230118 Ch. 10 ์๋ฐ์คํฌ๋ฆฝํธ DOM๊ณผ ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์ ๋ ฅ ๊ฒ์ฆ: 1. ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(DOM), 2. HTML ์์ ์ฐพ๊ธฐ, 3. HTML ๋ณ๊ฒฝํ๊ธฐ [K-๋์งํธ ํธ๋ ์ด๋ 16์ผ]
yjyuwisely 2023. 1. 18. 12:50230118 Wed 16th class
Ch. 9 ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด (์ฃผ์ ๋ณ๋ก ๋ฌถ๊ธฐ ์ํด ์๋ซ๊ธ๋ก ๊ธ ๋ด์ฉ ์ฎ๊น.)
Ch. 10 DOM๊ณผ ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์
๋ ฅ ๊ฒ์ฆ
์ง๋: p. 366 ~ (๊ต์ฌ: HTML5 + CSS3 + JavaScript๋ก ๋ฐฐ์ฐ๋ ์นํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด, ์ ์: ์ฒ์ธ๊ตญ)
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
์ง๋ ์์ ๋ ๋ฐฐ์ด ๊ฒ ์ค ๋ค์ ๊ธฐ์ตํ ๊ฒ
- ๋ฆฌํฐ๋ด์ ๋ณ์์ ๊ฐ์ด ๋ณํ์ง ์๋ ๋ฐ์ดํฐ(๋ฉ๋ชจ๋ฆฌ ์์น ์์ ๊ฐ)๋ฅผ ์๋ฏธํ๋ค.
- ๋ณ์ ์ ์ธ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก const๋ฅผ ์ฌ์ฉํ๊ณ , ์ฌํ ๋น(update)์ด ํ์ํ ๊ฒฝ์ฐ์ ํ์ ํด let์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
(์ฌํ ๋น(update)์ ํ์ฌ ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ๋ฒ๋ฆฌ๊ณ ์๋ก์ด ๊ฐ์ ์ ์ฅํ๋ ๊ฒ์ด๋ค.)
for/In ๋ฃจํ p.310
ํ์: for (๋ณ์ in ๊ฐ์ฒด)
{
๋ฌธ์ฅ;
}
ํน์ง: ๊ฐ์ฒด(object) ์์ ์์ฑ๋ค์ ๋ํ์ฌ ์ด๋ค ์ฒ๋ฆฌ๋ฅผ ๋ฐ๋ณตํ ์ ์๋ ๊ตฌ์กฐ์ด๋ค.
(๊ฐ์ฒด: ์์ฑ๊ณผ ๋ฉ์๋๋ก ์ด๋ฃจ์ด์ ธ ์๋ ํ๋์ ์ํฐํฐ(๋ฌถ์))
//Array ๊ฐ์ฒด๋ก ๋ฐฐ์ด ์์ฑ 1
var myArray1 = new Array();
myArray1[0] = "apple";
myArray1[1] = "banana";
myArray1[2] = "orange";
//Array ๊ฐ์ฒด๋ก ๋ฐฐ์ด ์์ฑ 2
var myArray2 = new Array("apple","banana","orange");
//๋ฆฌํฐ๋ด๋ก ๋ฐฐ์ด ์์ฑ
var myArray3 = ["apple", "banana", "orange"];
for(var i = 0; i<myArray1.length; i++){
document.write(myArray1[i]+" ");
}
for(var i = 0; i<myArray2.length; i++){
document.write(myArray2[i]+" ");
}
for(var i = 0; i<myArray3.length; i++){
document.write(myArray3[i]+" ");
}
Ch. 10 DOM๊ณผ ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์ ๋ ฅ ๊ฒ์ฆ
์ฑ ์ ๋ชฉ์ฐจ
-๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(DOM)
-HTML ์์ ์ฐพ๊ธฐ
-HTML ๋ณ๊ฒฝํ๊ธฐ
-DOM ๋ ธ๋ ์ญ์ ์ ์ถ๊ฐ
-๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ
-์ด๋ฒคํธ ์ฒ๋ฆฌ
-ํผ์ ์ ํจ์ฑ ๊ฒ์ฆ
๋ชฉํ
- HTML ๋ฌธ์๋ ๋ด๋ถ์ ์ผ๋ก DOM(Document Object Model)๋ก ํํ๋๋ค๋ ๊ฒ์ ์ดํดํ๋ค.
- ์น ๋ธ๋ผ์ฐ์ ๋ BOM(Browser Object Model)๋ก ํํํ ์ ์๋ค๋ ๊ฒ์ ์ดํดํ๋ค.
- ์น ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ํ๋ ์ด๋ฒคํธ๋ฅผ ์ดํดํ๊ณ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ ์ ๋ ฅ ๊ฒ์ฆ์ ํ์ตํ๋ค.
๋ด๊ฐ ์ํ๋ ์ ํ์๋ฅผ ์ฐพ์ ๋ ๋์์ด ๋๋ค.
1. ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(DOM)
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ์ด๋ป๊ฒ HTML ๋ฌธ์์ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์๋์ง๋ฅผ ํ์ตํ๋ค.
๋ ์์๋ก๋ถํฐ ๋ฐ์ํ๋ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ๋ ํ์ตํ๋ค.
1.1 DOM๊ณผ BOM
DOM(Document Object Model): HTML ๋ฌธ์๋ฅผ ๊ฐ์ฒด๋ก ํํํ ๊ฒ
BOM(Browser Object Model): ์น๋ธ๋ผ์ฐ์ ๋ฅผ ๊ฐ์ฒด๋ก ํํํ ๊ฒ
1.2 ๋ ธ๋์ ์ข ๋ฅ
2. HTML ์์ ์ฐพ๊ธฐ
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด HTML ์์(element)๋ฅผ ์กฐ์ํ์ฌ ๋์ ์ธ ์นํ์ด์ง๋ฅผ ์์ฑํ๋ ค๋ฉด ๋จผ์ ์ํ๋ ์์๋ฅผ ์ฐพ์์ผ ํ๋ค.
1) id๋ก HTML ์์ ์ฐพ๊ธฐ p. 378
DOM์์ HTML ์์๋ฅผ ์ฐพ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์์์ id๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค.
id ์ ํ์๋ ๋ณ์์ ์ ์ฅ์ด ๋๋ค.
์์) ๋ฌธ์ ์์์ id๊ฐ "main"์ธ ์์๋ฅผ ์ฐพ์์ ๋ฐํํ๋ค.
var x = document.getElementById("main");
๋ง์ฝ ์์๊ฐ ๋ฐ๊ฒฌ๋๋ฉด getElementById()๋ ์์๋ฅผ ๊ฐ์ฒด ํํ๋ก ๋ฐํํ๋ค. ์์๊ฐ ๋ฐ๊ฒฌ๋์ง ์์ผ๋ฉด x๋ null์ด ๋๋ค.
์ฃผ์ํ ์ ์ getElementById()๋ ์์๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ด์ฉ์ ๋ฐํํ๋ ๊ฒ์ด ์๋๋ผ ์์ ์์ฒด๋ฅผ ๋ฐํํ๋ค๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ์์์ ๋ด์ฉ์ ์ถ์ถํ๋ ค๋ฉด ์์ฑ innerHTML์ ์ฌ์ฉํด์ผ ํ๋ค.
innerHTML์ ์์๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฝํ
์ธ ๋ฅผ ๊ฐ์ ธ์ค๋ฏ๋ก innerHTML์ ์ด์ฉํด <div id = "main">์ด ๊ฐ์ง๊ณ ์๋ ์ฝํ
์ธ ๋ฅผ ์ถ์ถํ ์ ์๋ค.
alert(document.getElementById("main").innerHTML);
์์)
<script>
function process(){
// 1. id๊ฐ์ผ๋ก html ์์ ์ฐพ๊ธฐ
var obj = document.getElementById("target");
alert(obj.value);
}
</script>
</head>
<body>
<form name="myform">
<input type="text" id="target" name="text1">
<input type="submit" value="์ ์ถ" onclick="process()">
</form>
</body>
๊ฒฐ๊ณผ)
2) ์ ๋ ฅ ์์ ์ฐพ๊ธฐ
๋ฐ๋์ <form> ํ๊ทธ๊ฐ ์์ด์ผ ํ๋ค.
์์)
<script>
function process(){
// 2. ์
๋ ฅ์์ ์ฐพ๊ธฐ
var obj = document.myform.text1;
alert(obj.value);
}
</script>
</head>
<body>
<form name="myform">
<input type="text" id="target" name="text1">
<input type="submit" value="์ ์ถ" onclick="process()">
</form>
</body>
๊ฒฐ๊ณผ)
3) ํ๊ทธ ์ด๋ฆ์ผ๋ก HTML ์์ ์ฐพ๊ธฐ
getElementsByTagName() ๋ฉ์๋๋ ํ๊ทธ์ ์ด๋ฆ์ ์ธ์๋ก ๋ฐ์์ ์ด ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์์๋ฅผ ๋ฐฐ์ด์ ๋ฃ์ด์ ๋ฐํํ๋ค.
์ด๋ค ๋
ธ๋๊ฐ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉด, ํ
์คํธ ๋ฐ์ดํฐ๋ ์ฒซ ๋ฒ์งธ ์์ ๋
ธ๋๋ก ์ ์ฅ๋๋ค๋ ๊ฒ์ ์ฃผ์ํ์.
var eleArray = document.getElementsByTagName("div");
eleArray: ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
div: ๋ฌธ์ ์ <div> ํ๊ทธ๋ฅผ ๋ชจ๋ ์ฐพ์์ ๋ฐํํ๋ค.
์์) ๋ฆฌ์คํธ ํญ๋ชฉ์ ์ ๋ถ ์ถ๋ ฅํ๋ค.
<ul>
<li>List item1</li>
<li>List item2</li>
<li>List item3</li>
<li>List item4</li>
<li>List item5</li>
</ul>
<script>
//๋จผ์ ๋ฌธ์ ๋ด์ ์ฒซ๋ฒ์งธ <ul> ์์๋ฅผ ์ฐพ๋๋ค.
var list = document.getElementsByTagName('ul')[0];
var allItems = list.getElementsByTagName('li');
//for ๋ฐ๋ณต ๋ฃจํ๋ฅผ ์ด์ฉํด ์ฒซ ๋ฒ์งธ ์์ ๋
ธ๋์ data ํ๋๋ฅผ ์ถ๋ ฅํ๋ค.
//์ฒซ ๋ฒ์งธ ์์ ๋
ธ๋๋ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋
ธ๋์ด๋ค.
for (var i = 0; i < allItems.length; i++){
alert(allItems[i].firstChild.data);
}
</script>
๊ฒฐ๊ณผ)
์์2)
<div>
<p>๊ณผ์ผ์ ๋ฆฌ์คํธ</p>
<ul>
<li>์ฌ๊ณผ</li>
<li>๋ฐ๋๋</li>
<li>์ค๋ ์ง</li>
</ul>
</div>
<script>
var myDiv=document.getElementsByTagName("div")[0];
console.log(myDiv);
</script>
๊ฒฐ๊ณผ)
4) DOM ํธ๋ฆฌ ์ํ
์์ ๋
ธ๋์ ๋ถ๋ชจ ๋
ธ๋ ๊ด๊ณ๋ฅผ ์ด์ฉํ์ฌ ํ ๋
ธ๋์ฉ ๋ฐฉ๋ฌธํ๋ค.
ex) childNodes[], nextSibling[], parentNode[]๋ฅผ ์ด์ฉํ๋ค.
<div>
<p> ๊ณผ์ผ ๋ฆฌ์คํธ </p>
<ul>
<li> ์ฌ๊ณผ </li>
<li> ๋ฐ๋๋ </li>
<li> ์ค๋ ์ง </li>
</ul>
</div>
1) childNodes: ํ ์์์ ๋ชจ๋ ์์ ์์์ ์ ๊ทผํ ์ ์๋ค. ๋ฐฐ์ด์ด ๋ฐํ๋๋ค.
ex) myUl.childNode[0]; = <li> ์ฌ๊ณผ </li>
2) firstChild: 'childNodes' ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์ ๋
ธ๋๊ฐ ๋ฐํ๋๋ค. 'childNodes[0]'๊ณผ ๊ฐ๋ค.
ex) var myP = myDiv.firstchild; = <p> ๊ณผ์ผ ๋ฆฌ์คํธ </p>
3) lastChild: 'childNodes' ๋ฐฐ์ด์ ๋ง์ง๋ง ์์ ๋
ธ๋๊ฐ ๋ฐํ๋๋ค. 'childNodes[childNodes-1]'๊ณผ ๊ฐ๋ค.
4) parentNode: ํ์ฌ ๋
ธ๋์ ๋ถ๋ชจ ๋
ธ๋๋ฅผ ๋ฐํํ๋ค.
5) nextSibling: ํ์ฌ ๋
ธ๋์ ๋ค์ ํ์ ๋
ธ๋๋ฅผ ๋ฐํํ๋ค.
ex) var myUl = myP.nextSibling; =
<ul> <li> ์ฌ๊ณผ </li> <li> ๋ฐ๋๋ </li> <li> ์ค๋ ์ง </li> </ul> |
6) previousSibling: ํ์ฌ ๋
ธ๋์ ์ด์ ํ์ ๋
ธ๋๋ฅผ ๋ฐํํ๋ค.
์์1)
<div>
<!-- ์ฒซ๋ฒ์งธ ์์ -->
<p>๊ณผ์ผ์ ๋ฆฌ์คํธ</p>
<!-- ๋๋ฒ์งธ ์์ -->
<ul>
<li>์ฌ๊ณผ</li>
<li>๋ฐ๋๋</li>
<li>์ค๋ ์ง</li>
</ul>
</div>
<script>
var myP=myDiv.firstChild;
console.log(myP);
</script>
๊ฒฐ๊ณผ)
์์2)
<div>
<!-- ์ฒซ๋ฒ์งธ ์์ -->
<p>๊ณผ์ผ์ ๋ฆฌ์คํธ</p>
<!-- ๋๋ฒ์งธ ์์ -->
<ul>
<li>์ฌ๊ณผ</li>
<li>๋ฐ๋๋</li>
<li>์ค๋ ์ง</li>
</ul>
</div>
<script>
var myDiv=document.getElementsByTagName("div")[0];
console.log(myDiv);
//<div>์ ์ฒซ๋ฒ์งธ ์์์ด๋ฏ๋ก <p>์ด๋ค.
var myP=myDiv.firstChild;
console.log(myP);
//<div>๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ง์ง๋ง ์์์ด๋ฏ๋ก <ul>์ด๋ค.
var myL=myDiv.lastChild;
console.log(myL);
var myUI=myP.nextSibling;
console.log(myUI);
</script>
3 HTML ๋ณ๊ฒฝํ๊ธฐ
HTML ๋ฌธ์๊ฐ ์ง์ ๋ณ๊ฒฝ๋๋ ๊ฒ์ ์๋๊ณ DOM๋ง ๋ณ๊ฒฝ๋๋ค.
3.1 ์์์ ๋ด์ฉ ๋ณ๊ฒฝํ๊ธฐ p. 384
ํน์ HTML ์์์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๊ณ ์ถ์ผ๋ฉด innerHTML ์์ฑ์ ์ฌ์ฉํ๋ฉด ๋๋ค.
innerHTML์ ์์์ ์์ ํ๊ทธ์ ์ข
๋ฃ ํ๊ทธ ์ฌ์ด์ ๋์ธ ๋ชจ๋ HTML ์ฝ๋์ ํ
์คํธ๋ฅผ ์๋ฏธํ๋ค.
<div id = "main"> ์ด๊ฒ์ด div ์์์
๋๋ค. </div>
<div id = "main">: ์์ ํ๊ทธ
์ด๊ฒ์ด div ์์์
๋๋ค.: <div> ์์์ innerHTML
</div>: ์ข
๋ฃ ํ๊ทธ
innerHTML ์์ฑ์ (ํ
์คํธ)๋ง ๊ฐ์ง๊ณ ์์ ์๋ ์๊ณ , (HTML + ํ
์คํธ)์ผ ์๋ ์๋ค.
ex) <strong> ํ๊ทธ๊ฐ ๋ค์ด๊ฐ ์๋ ์๋ค.
์ด๋ค ์์์ ์ฝํ
์ธ ๋ฅผ ๋ณ๊ฒฝํ๋ผ๋ฉด (์ฆ ์์ ํ๊ทธ์ ์ข
๋ฃ ํ๊ทธ ์ฌ์ด์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ ค๋ฉด)
innerHTML ์์ฑ์ ์ํ๋ ๋ด์ฉ์ ๋์
ํด ์ฃผ๋ฉด ๋๋ค.
id = "main"์ธ <div> ์์๋ฅผ ํฌํจํ๊ณ ์๋ค. HTML DOM์ ์ด์ฉํด id = "main"์ธ ์์๋ฅผ ์ฐพ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์์์ ๋ด์ฉ(innerHTML)์ ๋ณ๊ฒฝํ๋ค.
document.getElementById("main).innerHTML = "์น ํ์ด์ง๊ฐ ์์ก๋์์ต๋๋ค.";
์์ 1)
๋ก๊ทธ์ธ → ๋ก๊ทธ์์๊ณผ ๊ฐ์ด ์๋ฆฌ์ด๋ค.
<script>
function get(){
var val = document.getElementById("ex").innerHTML;
alert(val);
}
function set(v){
document.getElementById("ex").innerHTML = v;
}
</script>
</head>
<body>
<div id = "ex">์ฌ๊ธฐ๊ฐ div๋ก ์ ์ธ๋์์ต๋๋ค.</div>
<a href = "#" onclick="get()">div ์์ ๋ด์ฉ ์ถ๋ ฅํ๊ธฐ</a><br>
<a href = "#" onclick="set('๋ณ๊ฒฝ๋์์ต๋๋ค.')">div ์์ ๋ด์ฉ ๋ณ๊ฒฝํ๊ธฐ</a>
</body>
๊ฒฐ๊ณผ)
์์ 2) ๋ก๊ทธ์ธ์์ ๋ก๊ทธ์์ ์ํ๋ก ๋ฐ๊พธ๊ธฐ
<a href = "#" onclick = "logout()" id = "log">๋ก๊ทธ์ธ</a>
๋ก๊ทธ์ธ์ ์์ innerHTML ์์ญ์ด๋ค. input ํ๊ทธ์ฒ๋ผ ๋ซ๋ ํ๊ทธ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ชป์ด๋ค.
<script>
function logout(){
document.getElementById("log").innerHTML = "๋ก๊ทธ์์";
}
</script>
</head>
<body>
์์ด๋ : <input type="text">
๋น๋ฐ๋ฒํธ : <input type="password">
<a href = "#" onclick = "logout()" id = "log">๋ก๊ทธ์ธ</a>
์์ 2.1) ๋ก๊ทธ์ธ์์ ๋ก๊ทธ์์ ์ํ๋ก ๋ฐ๊พธ๊ธฐ
<script>
function set(logoff){
document.getElementById("current").innerHTML = logoff;
}
</script>
</head>
<body>
<div id = "current">๋ก๊ทธ์ธ ์ํ์
๋๋ค.</div>
<a href = "#" onclick="set('๋ก๊ทธ์์ ๋์์ต๋๋ค.')">๋ก๊ทธ์์</a>
</body>
๊ฒฐ๊ณผ)
์์ 3) ๋ก๊ทธ์ธ์์ ๋ก๊ทธ์์ ๋ฒํผ ๋๋ฌ์ ๋ก๊ทธ์์ ์ํ๋ก ๋ฐ๊พธ๊ธฐ
<script>
function set(logoff){
document.getElementById("current").innerHTML = logoff;
}
</script>
</head>
<body>
<div id = "current">๋ก๊ทธ์ธ ์ํ์
๋๋ค.</div>
<input type = "button" value ="๋ก๊ทธ์์" onclick="set('๋ก๊ทธ์์ ๋์์ต๋๋ค.')">
</body>
๊ฒฐ๊ณผ)
์์ 4)
<div id = "current">
์์ด๋, ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์.<br>
<input type = "text" placeholder ="ID">
<input type = "text" placeholder ="PASSWORD">
<input type = "button" value ="๋ก๊ทธ์ธ" onclick="set('๋ก๊ทธ์ธ ๋์์ต๋๋ค.')">
<input type = "button" value ="๋ก๊ทธ์์" onclick="set('๋ก๊ทธ์์ ๋์์ต๋๋ค.')">
</div>
๊ฒฐ๊ณผ)
์์ 5)
์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ ์ ์๋ ๋์ ๋ง๋ค๊ณ ์์ด๋์ ๋น๋ฐ๋ฒํธ๊ฐ ๋ง์ผ๋ฉด ๋ก๊ทธ์ธ -> ๋ก๊ทธ์์์ผ๋ก ๋ณ๊ฒฝํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด "์์ด๋ ๋ฐ ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ ธ์ต๋๋ค"๋ผ๋ ์๋ฆผ์ฐฝ์ ๋์ฐ์ธ์. id: abcd, password: 1234๋ก ๊ฐ์ ํ๋ค. (DB์ ์ ์ฅ๋์ด ์๋ค.) |
๋ด๊ฐ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ <input type="button">์ id๋ฅผ ์
๋ ฅํ ์ ์๋ ๊ฒ์ด๋ค.
btnElement = document.getElementById('btn');
btnElement.value = "๋ก๊ทธ์์";
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฒํผ์ด ๋ก๊ทธ์ธ์์ ๋ก๊ทธ์์์ผ๋ก ๋ฐ๋๋ค.
๊ทธ๋ฆฌ๊ณ input์ ๋ฃ์ ๊ฐ value ๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด
var userid = document.getElementById('userid').value;
var userpassword = document.getElementById('userpassword').value;
๋ฅผ ์ฌ์ฉํ๋ค.
์ฝ๋ 5) ๋ด๊ฐ ์ด ์ฝ๋
<script>
function test() {//starts
var userid = document.getElementById('userid').value;
var userpassword = document.getElementById('userpassword').value;
if( userid !== "abcd" || userpassword != 1234 ) {
alert("์์ด๋ ๋๋ ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ์ง ์์ต๋๋ค");
return false;
}
else {
const btnElement = document.getElementById('btn');
btnElement.value = "๋ก๊ทธ์์";
}
}//ends
</script>
</head>
<body>
<div>
<form name="join">
์์ด๋ : <input type="text" id="userid">
๋น๋ฐ๋ฒํธ : <input type="password" id="userpassword">
<input type="button" id='btn' onclick="test()" value="๋ก๊ทธ์ธ">
</form>
</div>
</body>
์ฝ๋ 5.1) ์์ ์ ์ฝ๋
<script>
//input ํ๊ทธ์ value ๊ฐ์ด ํ์ํ๋ค.
function logout(){
var id = document.getElementById("id").value;
var password = document.getElementById("password").value;
//์์ด๋๊ฐ "log"์ธ ๊ฒ์ ์ ํํ๋ค.
if (id == "abcd" && password == "1234"){
document.getElementById("log").innerHTML = "๋ก๊ทธ์์";
}
else {
alert("์์ด๋ ๋ฐ ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ ธ์ต๋๋ค");
}
}
</script>
</head>
<body>
์์ด๋ : <input type="text">
๋น๋ฐ๋ฒํธ : <input type="password">
<!-- ๋ก๊ทธ์ธ์ ์์ innerHTML ์์ญ์ด๋ค.
์์ input ํ๊ทธ์ฒ๋ผ ๋ซ๋ ํ๊ทธ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ชป์ด๋ค.-->
<a href = "#" onclick = "logout()" id = "log">๋ก๊ทธ์ธ</a>
</body>
๊ฒฐ๊ณผ 5) ์์ด๋ ๋๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์๋ชป์
๋ ฅํ์ ๋
๊ฒฐ๊ณผ 5.2) ์์ด๋ ๋ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ํํ ์ ๋ ฅํ์ ๋ ๋ก๊ทธ์ธ ๋ฒํผ์ด ๋ก๊ทธ์์์ผ๋ก ๋ฐ๋์๋ค.
3.2 ์์์ ์์ฑ ๋ณ๊ฒฝํ๊ธฐ
์์๊ฐ ๊ฐ์ง ์์ฑ์ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ๋ค.
id๊ฐ "image"์ธ ์์๋ฅผ ์ฐพ์์ <img> ์์์ src ์์ฑ์ ๋ณ๊ฒฝํ๋ค.
document.getElementById("image").src = "poodle.png";
src: ์์ฑ ์ด๋ฆ
"poodle.png": ์๋ก์ด ์์ฑ๊ฐ
์์)
<script>
function changeImage(){
document.getElementById("image").src="image/coffee.jpg";
}
</script>
</head>
<body>
<!-- ๋ฒํผ์ ๋๋ฅด๋ฉด ์์ image/coffee.jpg๋ก ๋ฐ๋๋ค. -->
<img id="image" src = "image/coffee.webp" width="120" height="100"><br>
<input type = "button" value="๋๋ฌ๋ณด์ธ์." onclick="changeImage()">
๊ฒฐ๊ณผ)
3.3 ์์์ ์คํ์ผ ๋ณ๊ฒฝํ๊ธฐ
DOM๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ฉด HTML ์์์ ์คํ์ผ๋ ์ผ๋ง๋ ์ง ๋์ ์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
document.getElementById("p2").style.color = "blue";
style: ๋ฐ๋์ style์ ๋ถ์ธ๋ค.
color: ์์ฑ ์ด๋ฆ
"blue": ์๋ก์ด ์์ฑ๊ฐ
์์1)
<script>
function changeStyle(){
document.getElementById("p1").style.color="red";
document.getElementById("p1").style.fontFamily="๊ถ์์ฒด";
document.getElementById("p1").style.fontStyle="italic";
}
</script>
</head>
<body>
<p id="p1">This is a paragraph.</p>
<input type = "button" onclick = "changeStyle()" value = "๋๋ฌ๋ณด์ธ์.">
</body>
๊ฒฐ๊ณผ)
์์2) ๋ฒํผ์ ๋๋ฅด๋ฉด ์์๋ฅผ ํ๋ฉด์์ ์ฌ๋ผ์ง๊ฒ ํ๋ค.
<h3 id = "heading">์ด๊ฒ์ ํค๋ฉ์
๋๋ค.</h3>
<input type="button" value="์์์จ๊น" onclick="document.getElementById('heading').style.visibility = 'hidden'">
<input type="button" value="์์ํ์" onclick="document.getElementById('heading').style.visibility = 'visible'">
๊ฒฐ๊ณผ)