JSON ํ๋ณํ
๐โ๏ธ : ๋๋ JSON์ด ๋ญ์ง ์์?
๐ฉ๐ป : ๋น์ฐํ์ง! ์ปดํจํฐ์ ์น ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ ๋ฐ์ ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ
JSONํ์์ผ๋ก ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด์ฃผ๋ ๊ฑธ ๋งํด
JSON โก๏ธ ๋ฌธ์์ด
JSON.stringify (data);
๋ฌธ์์ด โก๏ธ JSON
JSON.parse (๋ฌธ์์ด); โญ key, value๊ฐ ๋ชจ๋ (" ")๋ก ๋ฌถ์ฌ์ผ ํ๋ค (๋ฐ.๋.์)
<script>
var data = [
{id: 'aaa123', title: 'aaa', content: 'a...'},
{id: 'bbb123', title: 'bbb', content: 'b...'},
{id: 'ccc123', title: 'ccc', content: 'c...'}, // ๋ง์ง๋ง์ ์ฝค๋ง ์์ด๋ ํ์ฉ๋จ
];
// console.log(data);
//JS๊ฐ์ฒด๋ฅผ JSON๋ฌธ์์ด๋ก ํ๋ณํ
var str = JSON.stringify(data);
console.log(str);
//JSON๋ฌธ์์ด์ JS๊ฐ์ฒด๋ก ํ๋ณํ
var obj = JSON.parse(str);
console.log(obj);
</script>
์ฝ๋์ ์คํ ๊ฒฐ๊ณผ
โญ ๋ฌธ์์ด์ ๊ฐ์ฒด๋ก ๋ณ๊ฒฝํ ๋ ๋ฐ๋์ ์ง์ผ์ผ ํ ๊ท์น์ด ์๋ค
JSON.parse("{id: 'aaa123'}");
โ ๏ธ key์ value๊ฐ์ ( " " )๋ก ๋ฌถ์ง ์๋๋ค๋ฉด ์์ ๊ฐ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๋ฐ๋์ ๊ท์น์ ์ง์ผ์ผ ํ๋ค
//๋จ, ๋ฌธ์์ด์ ๊ฐ์ฒด๋ก ๋ณ๊ฒฝํ ๋ ์๊ฒฉํ ๊ท์น ์์
//key์ value๋ฅผ ์๋ฐ์ดํ๋ก ๊ฐ์ธ๊ณ ์์ด์ผ ํจํจ
var result = JSON.parse('{"id": "aaa123"}');
console.log(result);
์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ ํธ๋ค๋ฌ
์ด๋ฒคํธ ํธ๋ค๋ฌ
์ด๋ฒคํธ๋ ํ๋ฉด์์ ํด๋ฆญ์ด๋ ๋์์ ๋ฐ์ํ๋ ๋์ ์ธ ๊ธฐ๋ฅ์ ๋งํ๋ค (์ฌ์ฉ์์ ๋์)
ํ๊ทธ์ ์คํฌ๋ฆฝํธ์ ์ด๋ฒคํธ๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ์
1๏ธโฃ ์ธ๋ผ์ธ ์ด๋ฒคํธ ๋ชจ๋ธ
2๏ธโฃ ๊ธฐ๋ณธ ์ด๋ฒคํธ ๋ชจ๋ธ
3๏ธโฃ ํ์ค ์ด๋ฒคํธ ๋ชจ๋ธ
์ด๋ฒคํธ ์ข ๋ฅ | ์ค๋ช |
click | ๋ง์ฐ์ค ํด๋ฆญํ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
dbclick | ๋ง์ฐ์ค๋ฅผ ๋๋ธ ํด๋ฆญํ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
mouseover | ๋ง์ฐ์ค๋ฅผ ์ค๋ฒํ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
mouserout | ๋ง์ฐ์ค๋ฅผ ์์ํ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
mousedown | ๋ง์ฐ์ค๋ฅผ ๋๋ ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
mouseup | ๋ง์ฐ์ค๋ฅผ ๋ผ์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
mousermove | ๋ง์ฐ์ค๋ฅผ ์์ง์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
keydown | ํค๋ฅผ ๋๋ ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
keyup | ํค๋ฅผ ๋ผ์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
keypress | ํค๋ฅผ ๋๋ฅธ ์ํ์์ ์ด๋ฒคํธ ๋ฐ์ |
focus | ํฌ์ปค์ค๊ฐ ์ด๋๋์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
blur | ํฌ์ปค์ค๊ฐ ๋ฒ์ด๋ฌ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
change | ๊ฐ์ด ๋ณ๊ฒฝ๋์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
submit | submit ๋ฒํผ์ ๋๋ ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
reset | reset ๋ฒํผ์ ๋๋ ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
select | input, textarea ์์ ํ ์คํธ๋ฅผ ๋๋๊ทธํด์ ์ ํํ์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
load | ๋ก๋ฉ์ด ์๋ฃ๋์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
abort | ์ด๋ฏธ์ง์ ๋ก๋ฉ์ด ์ค๋จ๋์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
resize | ์ฌ์ด์ฆ๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
scroll | ์คํฌ๋กค๋ฐ๋ฅผ ์์ง์์ ๋ ์ด๋ฒคํธ ๋ฐ์ |
์ธ๋ผ์ธ ์ด๋ฒคํธ ๋ชจ๋ธ
์ธ๋ผ์ธ ์ด๋ฒคํธ ๋ชจ๋ธ์ html์์(ํ๊ทธ)์ ์ง์ ์ด๋ฒคํธ๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ด๋ค
onclick๊ฐ์ ์ด๋ฒคํธ ์์๋ ๋ชจ๋ ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ๋ค์ด๊ฐ ์ ์๋ค
< button onclick = "console.log('์ถ๋ ฅ')">
์ธ๋ผ์ธ ์ด๋ฒคํธ ๋ชจ๋ธ์ ํน์ง
1. onclick์ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ด๋ฒคํธ์ด๋ค
2. ๋์ผํ ํจ์์ ์ฌ๋ฌ ์ด๋ฒคํธ๋ฅผ ๊ฑธ์ด์ค ์ ์๋ค
3. ์ด๋ค ์ด๋ฒคํธ์ ๋ํ ๋์์ธ์ง ํ์ธํ๋ ํค์๋๋ this์ด๋ค
<button onclick="check ( )"> ์ธ๋ผ์ธ ์ด๋ฒคํธ </button>
<script>
function check ( ) { // ์ ์ธ์ ํจ์
alert ( "์ธ๋ผ์ธ ์ด๋ฒคํธ" );
</script>
<button onclick= "aaa();">์ธ๋ผ์ธ ์ด๋ฒคํธ</button> <!--ํ๊ทธ์ ์ด๋ฒคํธ ์์ฑ = ์ธ๋ผ์ธ ์ด๋ฒคํธ -->
<button onclick= "bbb(this);">1</button> <!-- ํ๋ฉด ์์ ๋ณด์ด๋ ๊ฑด 1๋ก ํ์ ๊ทผ๋ฐ ์ด์ ํด๋ฆญ์ ํ๊ฒ ๋๋ฉด hello๋ก ๋ฐ๋ ํ๊ทธ ์์ ์ด ์ฝ์์ฐฝ์ ์ถ๋ ฅ-->
<button onclick= "bbb(this);">2</button>
<button onclick= "bbb(this);">3</button>
<script>
// ์ธ๋ผ์ธ ์ด๋ฒคํธ - ํจ์์ ์ ์ธ์ script์ ํ๊ณ , ํ๊ทธ์์ ์ฐ๊ฒฐ
// ์ฌ๋ฌ ๊ฐ์ ํจ์ ์ฐ๊ฒฐ ๊ฐ๋ฅ
function aaa(){
alert(1);
}
function bbb(a) {
// this๊ฐ ํ๊ทธ์์ ์ฌ์ฉ๋๋ฉด ํ๊ทธ ์๊ธฐ ์์ ์ ๊ฐ๋ฆฌํจ๋ค
console.log(a); // a๋ ํ๊ทธ ์์
a.innerHTML = 'hello';
}
</script>
์์ ์ฝ๋ ๊ฒฐ๊ณผ์ฐฝ
๊ธฐ๋ณธ ์ด๋ฒคํธ ๋ชจ๋ธ
๊ธฐ๋ณธ ์ด๋ฒคํธ ๋ชจ๋ธ์ HTML์์(ํ๊ทธ)๋ฅผ ์ทจ๋ํ ํ ์ด๋ฒคํธ๋ฅผ ์ต๋ช ํจ์๋ก ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ด๋ค
HTML์์๋ฅผ ์ทจ๋ํ ๋๋ ์์์ "์ทจ๋ํ ์์"๊ฐ "์์ ์ทจ๋ ๋ช ๋ น์ด"์ด์ ์ ์์ด์ผ ํ๋ค
<button id="bt"> ์ธ๋ผ์ธ์ด๋ฒคํธ </button> // ์ทจ๋ํ ์์
<script>
var bt = document.getElementById("bt"); // ์์ ์ทจ๋ ๋ช ๋ น
bt.onclick = function( ) {
console.log("์ถ๋ ฅ");
}
</script>
<!-- ๊ธฐ๋ณธ ์ด๋ฒคํธ๋ ์ธ๋ผ์ธ ์ด๋ฒคํธ์ ๋ค๋ฅด๊ฒ ํ๊ทธ ์์ ์์ฑํ์ง ์๊ณ ๋ฐ๋ก ๋นผ์ ์์ฑ-->
<!-- ์ต๋ช
ํจ์๋ก ์ฐ๊ฒฐํ๋ ๋ฐฉ์-->
<button id="btn">๊ธฐ๋ณธ ์ด๋ฒคํธ</button>
<script>
//์ทจ๋ํ ํ๊ทธ๋ณด๋ค ์๋์ ์์ด์ผ ํ๋ค
var a= document.getElementById("btn");
a.onclick = function(){
console.log('๊ธฐ๋ณธ์ด๋ฒคํธ');
console.log(this); // ํ๊ทธ ์์
console.log(a) // ํ๊ทธ ์์
}
</script>
์์ ์ฝ๋ ๊ฒฐ๊ณผ์ฐฝ
โญ HTML์์๋ฅผ ์ทจ๋ํ ๋๋ ์์์ "์ทจ๋ํ ์์"๊ฐ "์์ ์ทจ๋ ๋ช ๋ น์ด" ์ดํ์ ์ค๋ฉด ๋ฐ๋์ load ์ด๋ฒคํธ๋ฅผ
์ ์ฉํด์ผ ํ๋ค
<script>
window.onload = function( ) { // ์์ ์ทจ๋ ๋ช ๋ น
var bt = document.getElementById("bt");
bt.onclick = function( ) {
console.log("์ถ๋ ฅ");
}
}
</script>
<button id = "bt"> ์ธ๋ผ์ธ ์ด๋ฒคํธ </button> // ์ทจ๋ํ ์์
<script>
//ํ๋ฉด ๋ก๋ฉ์ด ์๋ฃ๋ ์ดํ์ ์คํ - onload๋ ํ๋ฉด๋ณ๋ก 1๊ฐ๋ง ์ฌ์ฉํ ์ ์๋ค
window.onload = function() {
var a = document.getElementById("btn");
a.onclick = function(){
console.log(a);
}
}
</script>
<button id="btn">๊ธฐ๋ณธ ์ด๋ฒคํธ</button>
์์ ์ฝ๋ ๊ฒฐ๊ณผ์ฐฝ
ํ์ค ์ด๋ฒคํธ ๋ชจ๋ธ
ํ์ค ์ด๋ฒคํธ ๋ชจ๋ธ์ ๊ฐ์ฒด.addEventListener(์ด๋ฒคํธ, ํจ์) ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐํ๋ค
<script>
window.onload = function ( ) {
var bt = document.getElementById("bt"); // ์ทจ๋ํ ์์
function view ( ) {
console.log("์ถ๋ ฅ");
}
bt.addEventListener('click', view); // ์ด๋ฒคํธ์ on์ ๋ถ์ด์ง ์๋๋ค
}
</script>
<button id="bt">์ธ๋ผ์ธ์ด๋ฒคํธ</button>
<button id="btn">ํ์ค ์ด๋ฒคํธ</button>
<script>
//ํ์ค์ด๋ฒคํธ๋ ๋์ผํ ์ด๋ฒคํธ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅ
//๊ฐ์ฒด.addEventListner(์ด๋ฒคํธ, ํจ์)
var btn = document.getElementById("btn");
btn.addEventListener("click", function() {
console.log("ํ์ค์ด๋ฒคํธ");
});
//์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ
// function aaa(){
// console.log("ํ์ค์ด๋ฒคํธ");
// }
</script>
<button id="btn">ํ์ค ์ด๋ฒคํธ</button>
<script>
//ํ์ค์ด๋ฒคํธ๋ ๋์ผํ ์ด๋ฒคํธ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅ
//๊ฐ์ฒด.addEventListner(์ด๋ฒคํธ, ํจ์)
var btn = document.getElementById("btn");
btn.addEventListener("click", function() {
console.log("ํ์ค์ด๋ฒคํธ");
});
btn.addEventListener("click", function() {
console.log("ํ์ค์ด๋ฒคํธ2");
});
</script>
์์ ์ฝ๋ ๊ฒฐ๊ณผ์ฐฝ
this ์ฐ์ฐ์์ ๋ํด์ ์ ๋๋ก ์๊ณ ์๋์? ์ ๋ ์ ๋ชจ๋ฆ ๋๋ค..ใ
ํจ์์์์ this
<h3> this์ ์๋ฏธ </h3>
<button id="btn">์ด๋ฒคํธ์์์ this</button>
<script>
// ํจ์์์์ this -> window๋ผ๋ ์ต์์ ๊ฐ์ฒด
// ์ด๋ฒคํธ์์์ this -> ํ๊ทธ์์
var a = 1; // ์ ์ญ๋ณ์ a๋ window์ ์ ์ธ๋จ
function aaa(){
var a = 10; // ์ง์ญ๋ณ์
console.log(a); // ์ง์ญ๋ณ์์ ์ ๊ทผ
console.log(this); // window
console.log(this.a); // ์ ์ญ๋ณ์์ ์ ๊ทผ
}
aaa();
</script>
ํจ์์์ this๋ผ๋ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด window ์ต์์ ๊ฐ์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ๋ ค ๋์จ๋ค
ํจ์ ๋ด์์ this ๊ทธ ์์ฒด๋ฅผ ํธ์ถํ๋ฉด window ๊ฐ์ฒด๊ฐ ์ถ๋ ฅ๋๊ณ this์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด ๋ณ์ a๋ฅผ ์ถ๋ ฅํ๋ค๋ฉด,
window์ ์๋ ๋ณ์ a๊ฐ ๋ถ๋ ค ๋์จ๋ค (ํจ์ ๋ด์ ์๋ ์ง์ญ๋ณ์ a๊ฐ ์๋)
event์์์ this
<h3> this์ ์๋ฏธ </h3>
<button id="btn">์ด๋ฒคํธ์์์ this</button>
<script>
//์ด๋ฒคํธ์์์ this
var btn = document.getElementById("btn");
btn.addEventListener("click", function(){
console.log(this); // ํ๊ทธ ์๊ธฐ์์
})
</script>
์ด๋ฒคํธ์์ this๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด window ๊ฐ์ฒด๊ฐ ์๋ ํ๊ทธ ์๊ธฐ ์์ ์ด ๋ถ๋ ค ๋์จ๋ค
๋ฒํผ์ ํด๋ฆญํ์ ๋ function์ด ์คํ๋๋ ์ด ๋ this๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฒ์ ๊ฒฐ๊ตญ ๋ฒํผ(ํ๊ทธ) ์์ ์ด๋ผ๋ ๋ง์ด๋ค
this ์ฐ์ฐ์ ์ ๋ณตํ์ฆ์์์
BOM & DOM
Browser Object Model vs Document Object Model
BOM์ ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ์ด๋ผ ํ๋ฉฐ, ๋ด์ฅ๊ฐ์ฒด๋ค์ ์๋ฏธํ๋ค
window, location, history, document ๋ฑ ํฌํจ
DOM์ ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ์ด๋ผ ํ๋ฉฐ, document๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค
DOM์ ์์(element)์ ์ ํ, ์ญ์ , ์์ฑ ๋ฑ์ ์ํด ์ฌ์ฉํ๋ค
Element(ํ๊ทธ) ์ ํ
๐ id, name, className ๋ฑ ๋ชจ๋ ๋ฌธ์์ด์ด๊ธฐ ๋๋ฌธ์ ์๋ฐ์ดํ๋ก ๋ฌถ์ด์ค์ผ ํ๋ค
๋ฉ์๋ | ์ค๋ช |
getElementById("xx") | ์์์ id๊ฐ xx์ธ ํ๊ทธ๋ฅผ ์ ํ |
getElementByName("xx") | ์์์ name์ด xx์ธ ํ๊ทธ๋ฅผ ์ ๋ถ ์ ํ |
getElementByClassName("xx") | ์์์ class๊ฐ xx์ธ ํ๊ทธ๋ฅผ ์ ๋ถ ์ ํ |
getElementByTagName("xx") | ์์์ tag๋ช ์ด xx์ธ ํ๊ทธ๋ฅผ ์ ๋ถ ์ ํ |
querySelector( ) | ์์ ์ ํ ๋ฐฉ๋ฒ์ด css์ ๋์ผ(์ฒซ๋ฒ์งธ ์์๋ง ์ ํ) |
querySelectorAll( ) | ์์ ์ ํ ๋ฐฉ๋ฒ์ด css์ ๋์ผ(๋ชจ๋ ํ๊ทธ ์ ํ) |
1๏ธโฃ getElementById ( )
<button id="check1"> ์ฒดํฌ๋ฐ์ค์์ ํ์ธ </button>
<script>
var check1 = document.getElementById("check1");
check1.onclick = function( ){
}
</script>
2๏ธโฃ getElementByName ( )
<button id="check1"> ์ฒดํฌ๋ฐ์ค ์์ ํ์ธ </button><br>
<input type="checkbox" name="inter" value="1"> JAVA
<input type="checkbox" name="inter" value="2"> JSP
<input type="checkbox" name="inter" value="3"> JSX
<input type="checkbox" name="inter" value="4"> SPRING
<script>
var check1 = document.getElementById("check1");
check1.onclick = function(){
var arr = document.getElementsByName("inter");
for ( var i = 0; i < arr.length; i++ ) { // name์ด inter์ธ ์์๋ฅผ ๋ชจ๋ ์ทจ๋ํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ๋ด๊น
console.log(arr[i]);
}
}
</script>
3๏ธโฃ querySelector ( )
<div class="box2">
<ul>
<li>์๋ </li>
<li>ํฌ๋ก</li>
<li>๋ํ์ค</li>
</ul>
</div>
<script>
var test1 = document.querySelector (".box2 > ul > li");
console.log(test1);
</script>
4๏ธโฃ querySelectorAll ( )
<div class="box2">
<ul>
<li>์๋ </li>
<li>ํฌ๋ก</li>
<li>๋ํ์ค</li>
</ul>
</div>
<script>
var test2 = document.querySelectorAll (".box2 > ul > li");
console.log(test2);
</script>
ํ๊ทธ ์ ํ ์ค์ตํด๋ณด๊ธฐ
1๏ธโฃ getElementById & getElementByName
<button id="btn">๋ฒํผ</button>
<input type="checkbox" name="inter" value="1">java
<input type="checkbox" name="inter" value="2">js
<input type="checkbox" name="inter" value="3">css
<input type="checkbox" name="inter" value="4">html
<script>
//element == node == ํ๊ทธ (๋ชจ๋ ๊ฐ์ ๋ง)
var btn = document.getElementById("btn");
console.log(btn);
var inter = document.getElementsByName("inter"); //name์ด inter์ธ ํ๊ทธ (array)
console.log(inter);
btn.onclick = function(){ //๋ฒํผ์ ํด๋ฆญํ์ ๋ name์ด inter์ธ ํ๊ทธ 4๊ฐ๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ
for(var i = 0; i < inter.length; i++){
console.log(inter[i]);
}
}
</script>
์ฝ์์ฐฝ ๊ฒฐ๊ณผ
2๏ธโฃ getElementByclassName
<hr>
<button id="btn2">๋ฒํผ</button>
<input type="radio" name="aaa" class="hello" value="1"> ํ๋ก๊ทธ๋จ
<input type="radio" name="aaa" class="hello" value="2"> ๋์์ธ
<input type="radio" name="aaa" class="hello" value="3"> ๋คํธ์ํฌ
<input type="radio" name="aaa" class="hello" value="4"> ๋ณด์
<script>
var btn2 = document.getElementById("btn2");
var hello = document.getElementsByClassName("hello"); //ํด๋์ค ์ด๋ฆ์ด "hello"์ธ ํ๊ทธ - ๋ฐํ์ด ๋ฐฐ์ด
console.log(hello);
btn2.onclick = function(){
for(var i = 0; i < hello.length; i++){
console.log(hello[i]);
}
}
</script>
์ฝ์์ฐฝ ๊ฒฐ๊ณผ
3๏ธโฃ getElementByTagName
<hr>
<button id="btn3">๋ฒํผ</button>
<ul id="bye">
<li>๋ชฉ๋ก1</li>
<li>๋ชฉ๋ก2</li>
<li>๋ชฉ๋ก3</li>
</ul>
<ul>
<li>๋ชฉ๋ก1</li>
<li>๋ชฉ๋ก2</li>
<li>๋ชฉ๋ก3</li>
</ul>
<script>
var btn3 = document.getElementById("btn3");
//document๋ ํ์์ด ๋ฌธ์ ์ ์ฒด์์ ์ด๋ฃจ์ด์ง
var bye = document.getElementById("bye"); //id๊ฐ bye์ธ ํ๊ทธ
//ํ์์ด bye์์๋ง ์ด๋ฃจ์ด์ง
var li = bye.getElementsByTagName("li"); //bye์ธ ํ๊ทธ์์ ํ์
console.log(li);
btn3.onclick = function(){
for(var i = 0; i < li.length; i++){
console.log(li[i]);
}
}
</script>
์ฝ์์ฐฝ ๊ฒฐ๊ณผ
4๏ธโฃ querySelector & querySelectorAll ( CSS ์ ํ์์ฒ๋ผ ์ฌ์ฉ )
<button id="btn">์ฟผ๋ฆฌ์
๋ ํฐํ์ธ</button>
<ul class="box">
<li>hi</li>
<li>bye</li>
<li>good afternoon</li>
</ul>
<script>
var btn = document.querySelector("#btn"); // css์ ํ์๋ก ์ป๊ธฐ
console.log(btn); //ํ๊ทธ ์ถ๋ ฅ
var li = document.querySelector(".box > li "); // liํ๊ทธ๋ฅผ ์ป๊ธฐ(๋จ์ผ)
console.log(li); //liํ๊ทธ ์ค ์ฒซ๋ฒ์งธ ์์๋ง ์ถ๋ ฅ(๋จ์ผ ์ ํ)
var lis = document.querySelectorAll(".box li");
console.log(lis);
btn.onclick = function(){
for(var i =0; i < lis.length; i++){
console.log(lis[i]);
}
}
</script>
ํ๊ทธ์ ์์ฑ ์ ๊ณตํ๊ธฐ
ํ๊ทธ์ ์์ฑ์ " . ์์ฑ๋ช " ์ผ๋ก ์ ๊ทผํ๋ค
( ์ ์ ๊ทผํ๋ ค๊ณ ํด? ์ ๊ทผํด์ ํ๊ทธ ์์ฒด๋ฅผ ๊ฐ์ง๊ณ ์์ผ ์ ์ดํ ์ ์๊ธฐ ๋๋ฌธ์ด์ง! )
<h3>ํ๊ทธ์ ์์ฑ ์ ์ดํ๊ธฐ</h3>
<input type="text" value="" id="input">
<div class="msg"></div>
<button type="button" id="btn">ํ์ธ</button>
<script>
//ํ๊ทธ์ ์์ฑ์ .์์ฑ๋ช
์ผ๋ก ์ ๊ทผํจ
//์ ์ดํ๊ณ ์ถ์ผ๋ฉด ํ๊ทธ๋ฅผ ๊ฐ๊ณ ์๋ผ
document.getElementById("input");
console.log(input.type); //type์์ฑ
console.log(input.id); //id์์ฑ
console.log(input.value); //value์์ฑ
console.log(input.required); //required์์ฑ (true/false)
console.log(input.checked); //checked ์์ฑ(true/false)
input.value = "๋ณ๊ฒฝ";
})
</script>
ํ๊ทธ์ ์ฌ์๊ฐ - innerHTML
<input type="text" value="" id="input">
<div class="msg"></div>
<button type="button" id="btn">ํ์ธ</button>
<script>
//ํ๊ทธ์ ์ฌ์๊ฐ์ HTMLํ์์ผ๋ก ์ป์ innerHTML
var btn = document.getElementById("btn");
console.log(btn.innerHTML); // "ํ์ธ" ์ถ๋ ฅ
//๋ฒํผ์ ๋๋ฅด๋ฉด ์ฌ์ฉ์๊ฐ ์
๋ ฅํ value๋ฅผ ๊ฐ์ง๊ณ ์์ msg ํ๊ทธ ์ฌ์ด์ ์ถ๋ ฅ
btn.addEventListener("click", function(){
var a = input.value;
var msg = document.querySelector(".msg");
msg.innerHTML= a;
</script>
"ํ์ธ" ๋ฒํผ์ ํด๋ฆญํ์ ๋ input ํ๊ทธ์ value๊ฐ์ ๋ณ์ a์ ์ ์ฅํ๊ณ , querySelector๋ก ํด๋์ค ์ด๋ฆ์ด
"msg"์ธ ํ๊ทธ๋ฅผ ๋ณ์ msg์ ์ ์ฅํ ๋ค์ msg ํ๊ทธ์ ์ฌ์๊ฐ์ ๋ณ์ a(input ํ๊ทธ์ value)๋ฅผ ์ ์ฅํ๋ค
๋ ธ๋ CSS ๋ณ๊ฒฝํ๊ธฐ
1๏ธโฃ ๋ ธ๋์ css์์ฑ์ ๋ฐ๊ฟ ๋๋ style์์ฑ์ ์ด์ฉํ๋ค
2๏ธโฃ css์ ์์ฑ์ ์นด๋ฉํ๊ธฐ๋ฒ์ ๋ฐ๋ฅธ๋ค
3๏ธโฃ ๋ ธ๋์ style์ ์ ๋ฌ๋๋ ๊ฐ์ ๋ฌธ์์ด๋ก ์์ฑํ๋ค
๐ฉ๐ป ๊ท์น : ๋ ธ๋.style.css์์ฑ = ๊ฐ
<ul class="box">
<li>๋ชฉ๋ก1</li>
<li>๋ชฉ๋ก2</li>
<li>๋ชฉ๋ก3</li>
</ul>
<button id="btn">css์์ฑ๋ณ๊ฒฝํ๊ธฐ</button>
<script>
var li = document.querySelector(".box li");
var btn = document.getElementById("btn");
btn.onclick = function() {
li.style.backgroundColor = "pink";
li.style.color = "white";
}
</script>
๋ํ์ฅ ์ค์ต ํํฐ๐
<select id="ch">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<!-- <input type="text" id="value"> ๊ธฐ๋ณธ ์ด๋ฒคํธ -->
<input type="text" onchange="aaa();"> <!--์ธ๋ผ์ธ ์ด๋ฒคํธ-->
<div id="db">dbํด๋ฆญ์ด๋ฒคํธ</div>
<script>
// 1.์์ ์๋ select์ input์ ์ฌ๋ฌ๋ถ์ด ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก change ๊ฑธ์ด๋ณด๊ธฐ
// 2. div์๋ dbclick์ด๋ฒคํธ๋ ๊ฑธ์ด๋ณด๊ธฐ
//1๋ฒ ๋ฌธ์
var c = document.getElementById("ch");
ch.onchange = function(){
console.log("์ต์
์ ํ ์");
}
// var a = document.getElementById("value");
// a.onchange = function(){
// console.log("๊ฐ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค");
// }
function aaa() {
console.log("์ฒด์ธ์ง์ด๋ฒคํธ");
}
//2๋ฒ ๋ฌธ์
var d = document.getElementById("db");
d.addEventListener("dblclick", function(){ //๋๋ธ ํด๋ฆญ ์ด๋ฒคํธ๋ช
: dblclick
console.log("๋๋ธํด๋ฆญ");
});
</script>
๐ฉ๐ป ์ฌ์ฉ์๊ฐ ํ์ธ๋ฒํผ์ ํด๋ฆญํ์ ๋, input ํ๊ทธ์ ๊ณต๋ฐฑ์ฌ๋ถ์ ์ฒดํฌ๋ฐ์ค์ ์ฒดํฌ์ฌ๋ถ ํ์ธํ๊ธฐ
<h3>์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ๋ฉด, input ํ๊ทธ์ ๊ณต๋ฐฑ์ฌ๋ถ, ์ฒดํฌ๋ฐ์ค์ ์ฒดํฌ์ฌ๋ถ</h3>
์์ด๋: <input type="input" id="id" value="" >
๊ธฐ์ตํ๊ธฐ: <input type="checkbox" class="remember">
<button id="btn">ํ์ธ</button>
<script>
var btn = document.getElementById("btn");
var id = document.getElementById("id");
btn.onclick = function(){
if(id.value == ""){
alert("์์ด๋ ์
๋ ฅํด๋ผ");
}else{
alert("์ ์์ ์ผ๋ก ์
๋ ฅ๋์์ต๋๋ค");
}
var ch = document.querySelector(".remember");
if(ch.checked == true){
alert("๊ธฐ์ต ์๋ฃ")
}else{
alert("๊ธฐ์ตํ๊ธฐ ์ซ์๋~~")
}
}
</script>
์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ๋ฉด, input ํ๊ทธ์ ๊ณต๋ฐฑ์ฌ๋ถ, ์ฒดํฌ๋ฐ์ค์ ์ฒดํฌ์ฌ๋ถ
์์ด๋: ๊ธฐ์ตํ๊ธฐ:์ธ๋ผ์ธ ์ด๋ฒคํธ - ์ฌ์ฉ์๊ฐ ์ฒดํฌ๋ฐ์ค๋ฅผ ํด๋ฆญํ ๋๋ง๋ค ๊ฒฝ๊ณ ์ฐฝ์ value๊ฐ์ ๋์์ฃผ๊ธฐ
์กฐํญ1 ์กฐํญ2 ์กฐํญ3
๐ฉ๐ป ์ธ๋ผ์ธ ์ด๋ฒคํธ๋ฅผ ์ด์ฉํด ์ฌ์ฉ์๊ฐ ์ฒดํฌ๋ฐ์ค๋ฅผ ํด๋ฆญํ ๋๋ง๋ค ๊ฒฝ๊ณ ์ฐฝ์ value๊ฐ ์ถ๋ ฅ
<h3>์ธ๋ผ์ธ ์ด๋ฒคํธ - ์ฌ์ฉ์๊ฐ ์ฒดํฌ๋ฐ์ค๋ฅผ ํด๋ฆญํ ๋๋ง๋ค ๊ฒฝ๊ณ ์ฐฝ์ value๊ฐ์ ๋์์ฃผ๊ธฐ</h3>
<input onclick="check(this);" type="checkbox" value="1" id="input1">์กฐํญ1
<input onclick="check(this);" type="checkbox" value="2" id="input2">์กฐํญ2
<input onclick="check(this);" type="checkbox" value="3" id="input3">์กฐํญ3
<script>
function check(input){
if(input.checked){ // checkbox์ ์ฒดํฌ๋ฅผ ํ๋ค๋ฉด
alert(input.value + "์กฐํญ"); // ๊ฒฝ๊ณ ์ฐฝ ์ถ๋ ฅ
}
}
</script>
๐ฉ๐ป select ํ๊ทธ์์ ์ต์ ๊ฐ์ ์ ํํ์ ๋ ๊ทธ ๊ฐ์ ์น ๋ธ๋ผ์ฐ์ ์ ์ถ๋ ฅํ๊ธฐ
<h3>select์์ value์์ฑ์ ์ ํ๋ ๊ฐ์ ์๋ฏธํ๋ค</h3>
<h3>change์ด๋ฒคํธ</h3>
<h2 id="title"> ๋จ์ด๋ฅผ ์ ํํ์ธ์ </h2>
<script>
window.onload = function(){
var c = document.querySelector(".change");
var ch = c.querySelectorAll(".change option");
var title = document.querySelector("#title");
console.log(ch);
c.onchange = function () {
if (c.value == "h") {
//this.log == c.value
title.innerHTML = "hello์
๋๋ค";
} else if (c.value == "b") {
title.innerHTML = "bye์
๋๋ค";
} else if (c.value == "g") {
title.innerHTML = "good-morning์
๋๋ค";
} else {
title.innerHTML ="๋จ์ด๋ฅผ ์ ํํ์ธ์";
}
}
}
</script>
<select class="change">
<option value="h">hello</option>
<option value="b">bye</option>
<option value="g">good-morning</option>
<option value="k">์ ํ</option>
</select>
select์์ value์์ฑ์ ์ ํ๋ ๊ฐ์ ์๋ฏธํ๋ค
change์ด๋ฒคํธ
๋จ์ด๋ฅผ ์ ํํ์ธ์
๐ฉ๐ป ํ์ธ ๋ฒํผ ํด๋ฆญ ์, ์ข์์ด ์ ์ด๋ ํ ๊ฐ ์ด์ ์ฒดํฌ๋์ด ์์ง ์๋ค๋ฉด ๊ฒฝ๊ณ ์ฐฝ์ ๋์ฐ๊ธฐ
<input type="checkbox" name="seat" value="1">1๋ฒ
<input type="checkbox" name="seat" value="2">2๋ฒ
<input type="checkbox" name="seat" value="3">3๋ฒ
<input type="checkbox" name="seat" value="4">4๋ฒ
<input type="checkbox" name="seat" value="5">5๋ฒ
<input type="checkbox" name="seat" value="6">6๋ฒ
<input type="checkbox" name="seat" value="7">7๋ฒ
<input type="checkbox" name="seat" value="8">8๋ฒ
<input type="checkbox" name="seat" value="9">9๋ฒ
<button type="button" id="btn">ํ์ธ</button>
<script>
// ๋ฒํผ์ ํด๋ฆญ์, ์ข์์ด ์ ์ด๋ ํ ๊ฐ์ด์ ์ฒดํฌ๋์ด ์์ง ์๋ค๋ฉด ๊ฒฝ๊ณ ์ฐฝ์ ๋์ฐ์ธ์
var seat = document.getElementsByName("seat"); // ์ข์ ํ๊ทธ ๊ฐ๊ณ ์ค๊ธฐ
//document.querySelectorAll("input[name='seat']");
var btn = document.getElementById("btn"); // ๋ฒํผ ํ๊ทธ ๊ฐ๊ณ ์ค๊ธฐ
btn.onclick = function () {
var count = 0;
for (var i = 0; i < seat.length; i++) {
if (seat[i].checked == true) {
count++;
}
}
if (count < 1) {
alert("์ข์ ์ ํํ์
");
} else {
alert("์ ์์ ์ผ๋ก ์ข์์ด ์ ํ๋์์ต๋๋ค")
}
}
</script>
๐ฉ๐ป ์นด์ดํธ ๋ง๋ค๊ธฐ ( ์ฆ๊ฐ, ๊ฐ์, ์์๋ ์ ์ธ )
<h3>JS ์นด์ดํธ ๋ง๋ค๊ธฐ - this, innerHTML, value ์์ฑ์ ์ฌ์ฉํ๋ฉด ๋จ</h3>
<input type="number" value="0" id="count">
<button onclick="calc(this)" id="plus" >+</button>
<button onclick="calc(this)" id="minus">-</button>
<script>
var plus = document.getElementById("plus");
var minus = document.getElementById("minus");
var count = document.getElementById("count");
console.log(this);
function calc(b) {
console.log(b);
if (b == plus) { //ํ๊ทธ๊ฐ ์ด๋ค ๊ฐ์ธ์ง ๊ตฌ๋ถ์ ํ ์ ์์ด์ผ ํ๋ ๊ฑฐ ์๋๋...? ์ ์ ์ฐจ๋ฆฌ์
count.value++;
}else{
if (count.value == 0) { //0 ์๋๋ก ๊ธ์ง๋ผ๋ ๊ฒฝ๊ณ ์ฐฝ์ด ๋ฌ ์ดํ๋ก๋ ์คํ์ด ๋ฉ์ถฐ์ผ ํ๊ธฐ ๋๋ฌธ์ return;
alert("0 ์๋๋ก ๊ธ์ง")
return; //์ข
๋ฃ
}
count.value--;
/*if(count.vlue <= 0){
alert("0 ์๋๋ก ๊ธ์ง")
return;}
*/
}
}
</script>
JS ์นด์ดํธ ๋ง๋ค๊ธฐ - this, innerHTML, value ์์ฑ์ ์ฌ์ฉํ๋ฉด ๋จ
๐ฉ๐ป ๋ฒํผ ํด๋ฆญ ์, ์ฌ์ง ๋ณ๊ฒฝ & ์ฌ์ง border ์๊น ๋ณ๊ฒฝํ๊ธฐ
<article>
<img src="img/1.jpg" width="200" style="border: 3px solid black;" id="img">
<select id="season">
<option value="1.jpg">๋ด</option>
<option value="2.jpg">์ฌ๋ฆ</option>
<option value="3.jpg">๊ฐ์</option>
<option value="4.jpg">๊ฒจ์ธ</option>
</select>
<button id="btn">์ด๋ฏธ์ง๋ฐ๊พธ๊ธฐ</button>
<input type="color" id="input">
<button id="btn2">์์๋ณ๊ฒฝํ๊ธฐ</button>
</article>
<script>
var season = document.querySelector("#season");
var btn = document.getElementById("btn");
var btn2 = document.getElementById("btn2");
var input = document.getElementById("input");
var img = document.getElementById("img");
console.log(img.src);
console.log(season[1].value);
bnt.onclick = function(){
img.src = "img/" + season.value; // if๋ฌธ์ ์ฐ์ง ์๊ณ ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์ด์ ๋!!
} // ๊ฐ์ ๋ณ์ img.src์ ์ ์ฅํ๋ ๊ฒ์ผ๋ก ๊ฐ์ ํด๋ฆญํ ๋๋ง๋ค ํด๋นํ๋ ๊ฐ์ด ์ ์ฅ๋๋ ๊ฒ
btn2.onclick = function(){
img.style.borderColor = input.value;
}
</script>
โ PLUS!! onfocus & onblur
onfocus : input์ focus๊ฐ ๋ค์ด๊ฐ ๋ ๋์ํ๋ค
onblur : input์ focus๊ฐ ๋ ๋ฌ์ ๋ ๋์ํ๋ค
<h3>onfocus - ์ธํ์ focus ๋ค์ด๊ฐ ๋ ๋์, onblur - ์ธํ์ focus๊ฐ ๋ ๋ฌ์ ๋ ๋์</h3>
<input type = "text" class="xx">
<script>
var xx = document.querySelector(".xx");
xx.onfocus = function(){
console.log("ํฌ์ปค์ค ์ง์
");
}
xx.onblur = function(){
console.log("ํฌ์ปค์ค ์์");
}
</script>
onfocus์ onblur ์ฌ์ฉํด๋ณด๊ธฐ
์์ด๋ <input type="text" id="id" placeholder="4๊ธ์ ์ด์"> <br>
<h4 id ="id_err"></h4>
๋น๋ฐ๋ฒํธ <input type="password" id="pw" placeholder="9๊ธ์ ์ด์">
<h4 id="pw_err" ></h4>
<script>
var id = document.getElementById("id");
var pw = document.getElementById("pw");
var id_err = document.getElementById("id_err");
var pw_err = document.getElementById("pw_err");
//์์ด๋
//change๋ ๋น์ทํ๊ฒ ์ฌ์ฉ์ ๊ฐ๋ฅํ๋ฐ
//์ฐจ์ด์ ์ change๋ ๊ฐ์ด ๋ณํ ๋ ์คํ์ด ๋๊ณ
//blur๋ ํฌ์ปค์ค๋ฅผ ๋ฒ์ด๋๋ ์๊ฐ ์คํ์ด ๋๋ค๋ ๊ฒ์ด๋ค
id.onblur = function(){
if(id.value.length < 4){
id_err.innerHTML = "์์ด๋ 4๊ธ์ ์ด์์ด๊ฑฐ๋ ์?";
id.style.border = "3px solid red";
} else{
id_err.innerHTML = "";
id.style.border = "3px solid green";
}
}
//๋น๋ฐ๋ฒํธ
pw.onblur = function(){
if(pw.value.length < 9){
pw_err.innerHTML = "๋น๋ฒ 9๊ธ์ ์ด์์ด๊ฑฐ๋ ์?";
pw.style.border = "3px solid red";
} else{
pw_err.innerHTML = "";
pw.style.border = "3px solid green";
}
}
</script>
๋ ธ๋ ์์ฑ, ์ถ๊ฐํ๊ธฐ
ํจ์ | ์ค๋ช |
createElement( ) | ์์๋ฅผ ์์ฑ |
โญ appendChild( ) | ํ ์คํธ๋ฅผ ์์ฑ |
innerHTML = | ์์๋ฅผ HTML๋ฐฉ์์ผ๋ก ์์ฑ |
insertBefore(์ฝ์ ๋ ธ๋, ๊ธฐ์ค๋ ธ๋) | ๊ธฐ์ค๋ ธ๋ ์์ ์ฝ์ ๋ ธ๋ ์ถ๊ฐ |
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ = innerHTML
<!-- innerHTML -->
<div class="inner1"></div>
<button class="btn">ํ๊ทธ์์ฑ</button>
<script>
var inner1 = document.querySelector(".inner1");
var btn = document.querySelector(".btn");
btn.onclick = function(){
//๋ฌธ์์ด์ ํํ๋ก ํ๊ทธ๋ฅผ ์์์ผ๋ก ๋ฃ๋๋ค
inner1.innerHTML = "<div><a href='#'>ํ๊ทธ์์ฑ</a></div>";
}
</script>
์ง์ ์ฒดํฌ๋ฐ์ค ๋ง๋ค๊ธฐ - ๋น ๋ฌธ์์ด์ ์ถ๊ฐํ๊ธฐ
<div class="inner2">
<!-- <input type="checkbox" name="add" value="1"> 1
<input type="checkbox" name="add" vlaue="2"> 2
<input type="checkbox" name="add" value="3"> 3
<input type="checkbox" name="add" value="4"> 4
<input type="checkbox" name="add" value="5"> 5 -->
</div>
<button class="btn2">ํ๊ทธ์์ฑ</button>
<script>
var inner2 = document.querySelector(".inner2"); // ์ฒดํฌ๋ฐ์ค๋ฅผ ๋ฃ์ ํ๊ทธ ํ์
var btn2 = document.querySelector(".btn2"); // ๋ฒํผ ํ๊ทธ ํธ์ถ
btn2.onclick = function() { // ๋ฒํผ ํด๋ฆญ ์์ ์ฒดํฌ๋ฐ์ค ์์ฑ
var str=""; // ๋ฌธ์์ด ๋ณ์ ์์ฑ
for(var i = 1; i <= 5; i++){
str += '<input type="checkbox" name="add" value="'+ i +'">'+ i;
}
inner2.innerHTML=str; // str ๋ณ์๋ฅผ inner2 ํ๊ทธ ์ฌ์๊ฐ์ ์ ์ฅ
}
</script>
createElement ์ฌ์ฉ
<input type="text" class="todo" placeholder="ํ ์ผ์ ์์ฑํด ๋ณด์ธ์">
<button class="btn">์ถ๊ฐ</button>
<ul class="list"></ul>
<script>
var todo = document.querySelector(".todo"); //input ํ๊ทธ
var list = document.querySelector(".list"); //ulํ๊ทธ (์ถ๊ฐ๋ ๋ฆฌ์คํธ๋ฅผ ๋ฃ์ ํ๊ทธ)
var btn = document.querySelector(".btn"); //๋ฒํผ ์์ฑ
btn.onclick = function(){
var li = document.createElement("li"); //liํ๊ทธ์์ฑ, ulํ๊ทธ์ ๋ค์ด๊ฐ liํ๊ทธ
var a = document.createElement("a"); //aํ๊ทธ์์ฑ, liํ๊ทธ์ ๋ค์ด๊ฐ aํ๊ทธ
a.href = "#";
a.innerHTML = todo.value; // inputํ๊ทธ์ value๋ฅผ aํ๊ทธ์ ์ฌ์๊ฐ์ ์ ์ฅ
li.appendChild(a); //li์ ์์์ผ๋ก a๋ฅผ ๋ฃ๋๋ค
list.appendChild(li); //list์ ์์์ผ๋ก li๋ฅผ ๋ฃ๋๋ค
todo.value=""; // ์ด๊ธฐํ(์
๋ ฅ์ฐฝ์ ๋จ์์๋ ๊ฐ ์ด๊ธฐํ)
}
</script>
createElement ์์ฉ ver1
<div id="addList">
</div>
<button id="add">์ถ๊ฐ</button>
<script>
window.onload = function(){ // ๋ก๋ฉ ํ ์คํ
var addList = document.getElementById("addList"); // ์ถ๊ฐํ ๋ฆฌ์คํธ๋ฅผ ๋ด์ ์ฅ์
var ul = document.createElement("ul"); //ul ์์ฑ
for(var i = 1; i <= 10; i++){
var li = document.createElement("li"); // ul ํ๊ทธ์ ๋ค์ด๊ฐ li ํ๊ทธ
li.innerHTML = "๋ฆฌ์คํธ" + i; // li์ ์ฌ์๊ฐ ์ด๊ธฐํ
ul.appendChild(li); // li ํ๊ทธ๋ฅผ ul ํ๊ทธ์ ์์์ผ๋ก ์์ฑ
}
addList.appendChild(ul); // li๊ฐ ๋ค์ด์๋ ul ํ๊ทธ๋ฅผ addList์ ๋ด๊ธฐ
} // ์์๋๋ก "๋ฆฌ์คํธ 1~10"์ด ์๋ ์์ฑ๋จ
var add = document.getElementById("add");
add.onclick = function() { // ๋ฒํผ ํด๋ฆญ ์์ ๋ฆฌ์คํธ ์ถ๊ฐํ๊ธฐ
var li = document.createElement("li");
li.innerHTML = "์ถ๊ฐ๋ ๋ฆฌ์คํธ";
//์๋กญ๊ฒ addList > li ํ๊ทธ๋ฅผ ์ป์
document.querySelector("#addList > ul").appendChild(li); // ์ฌ์ฌ์ฉํ ํ์ ์๋ ๋ณ์๋ผ๊ณ ์๊ฐํ๋ฉด ๋ณ์ ์์ฑ ์ํ๊ณ ๋ฐ๋ก go!ํด๋ ์ข๋ค~
}
</script>
createElement ์์ฉ ver2
<button type="button" id="addLists">5๊ฐ์ถ๊ฐํ๊ธฐ</button>
<button type="button" id="addList">1๊ฐ์ถ๊ฐํ๊ธฐ</button>
<table>
<thead>
<tr>
<th>๊ต์</th>
<th>ํ๋ จ๊ณผ๋ชฉ</th>
<th>๋ด๋น์</th>
<th>ํ๋ จ๋ด์ฉ</th>
</tr>
</thead>
<tbody class="todoList">
<tr>
<td><input type="text" size="3"></td>
<td><input type="text"></td>
<td><input type="text" size="5"></td>
<td><input type="text"></td>
</tr>
</tbody>
</table>
<script>
var addLists = document.getElementById("addLists"); // 5๊ฐ ์ถ๊ฐ ๋ฒํผ
var addList = document.getElementById("addList"); // 1๊ฐ ์ถ๊ฐ ๋ฒํผ
var todoList = document.querySelector(".todoList"); // ์ถ๊ฐํ ์นธ ๋ชธํต
addList.onclick = function(){ // 1๊ฐ ์ถ๊ฐํ๊ธฐ ํจ์
var tr = document.createElement("tr");
tr.innerHTML=
'<td><input type="text" size="3"></td>'+
'<td><input type="text"></td>'+
'<td><input type="text" size="5"></td>'+
'<td><input type="text"></td>';
todoList.appendChild(tr);
}
// 5๊ฐ ์ถ๊ฐ ๋ฒํผ -> ์คํ
addLists.addEventListener("click", function(){ // ๋ฒํผ์ ํด๋ฆญํ์ ๋ 5๊ฐ ์ถ๊ฐํ๋ ํจ์๊ฐ ์คํ๋๋ค
for( var i = 1; i <= 5; i++ ){
five();
}
})
var five = function(){ // 5๊ฐ์ ์นธ์ ๋ง๋๋ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ฅผ ๋ฐ๋ก ๋ง๋ค๊ณ ์คํ์ ๋ฐ๋ก!
var tr = document.createElement("tr");
tr.innerHTML=
'<td><input type="text" size="3"></td>'+
'<td><input type="text"></td>'+
'<td><input type="text" size="5"></td>'+
'<td><input type="text"></td>';
todoList.appendChild(tr);
}
</script>
๊ต์ | ํ๋ จ๊ณผ๋ชฉ | ๋ด๋น์ | ํ๋ จ๋ด์ฉ |
---|---|---|---|
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ES6๋ฌธ๋ฒ - ํด๋์ค, ํด๋์ค ์์ (0) | 2023.01.13 |
---|---|
[JavaScript] ์ฌ๋ฌ ํ๊ทธ์ ํ๋ฒ์ ์ด๋ฒคํธ ๊ฑธ๊ธฐ ๊ฐ๋ฅ...? (0) | 2023.01.03 |
[JavaScript] ๋ ธ๋ ๋ณด๋ฌ ์๋ค๊ฐ ํด๋์ค ์์ฑ ์ ์ด๋ ๋ฐฐ์ฐ๊ณ ๊ฐ๋๋ค (0) | 2023.01.02 |
[JavaScript] this ์ฐ์ฐ์ ์ ๋ณตํด๋ณด์ (0) | 2023.01.01 |
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์์ํ๋ฉฐ.. (0) | 2022.12.28 |