๐ป๋์ ์ผ๋ก ํ๊ทธ ์์ฑํ๊ธฐ๐ป
1. innerHTML
- ์ฝ๊ณ ์์ฑ ๋น์ฉ์ด ์ ๋ ดํ๋ค
- ๋ชจ๋ ๊ฒ์ ๋ฌธ์์ด๋ก ์กฐ์ํ๊ธฐ์ ๋ณต์กํ ์์ ์ ๋ฌด๋ฆฌ์ด๋ค.
div1.innerHTML = '<input type="text" size="10">';
2. createXXX
- ๋ณต์กํ๊ณ ์์ฑ ๋น์ฉ์ด ๊ณ ๊ฐ์ด๋ค.
- ์ฒด๊ณ์ ์ธ ์์ ์ด ๊ฐ๋ฅํ๋ค.
๐ปํ๊ทธ ์์ฑํ๊ธฐ๐ป
์์ฑ ์์
1. ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค
- createElement(nodename) : ํ๊ทธ ์์ฑ
- createTextNode(text) : ํ ์คํธ ์์ฑ
- createAttribute(attributename) : ์์ฑ ์์ฑ
- createComment(text) : ์ฃผ์ ์์ฑ
//2.1 ํ๊ทธ ์์ฑ
var input = document.createElement('input'); //<input>
//2.2 ์์ฑ ์์ฑ
var type = document.createAttribute('type'); //type=""
type.value = 'text'; //type="text"
input.setAttributeNode(type); //<input type="text">
์ ์์ฑ ์์ฑํ๋ ์ธ์ค์ ์๋ setAttribute๋ฅผ ์ด์ฉํ์ฌ ํ์ค๋ก ์ ์ํ ์ ์๋ค.
input.setAttribute('size', '50'); //<input type="text" size="50">
2. ์์ฑํ ๋ ธ๋๋ฅผ ํธ๋ฆฌ์ ์ฝ์ ํ๋ค.
- appendChild(node) : ์ ํํ ๋ ธ๋์ ์ ์ผ ๋ง์ง๋ง์ ์ฝ์ ๋๋ค.
div1.appendChild(input);
<p> ํ๊ทธ ์์ฑํ๊ธฐ
- <p align="center">๋ฌธ๋จ์ ๋๋ค</p> ๋ฅผ DOM์ผ๋ก ์ถ๊ฐํ๋ค.
div1.innerHTML += '<p align="center">๋ฌธ๋จ์
๋๋ค</p>';
๋จผ์ innerHTML์ผ๋ก ์ถ๊ฐํ๋ค๋ฉด ์์ ๊ฐ์ด ์์ฑํ๋ฉด ๋๋ค.
var p = document.createElement('p'); //<p></p>
p.setAttribute('align', 'center'); //<p align="center"></p>
/*
var txt = document.createTextNode('๋ฌธ๋จ์
๋๋ค.'); //์์์ด ์๋ ๋ฌธ์์ด
p.appendChild(txt); //<p align="center">๋ฌธ๋จ์
๋๋ค</p>
*/
//์ ๋ ์ค์ ํฉ์น ๊ธฐ๋ฅ
p.textContent = '๋ฌธ๋จ์
๋๋ค.';
div1.appendChild(p);
textContent๋ก createTextNode์ appendChild๋ฅผ ํ์ค๋ก ์ ์ํ ์ ์๋ค.
๐ปํ๊ทธ ์ญ์ ํ๊ธฐ๐ป
innerHTML ๋ ํ๊ทธ๋ณ ๋ถ๋ฆฌ๊ฐ ์ด๋ ค์ ๋ถ๋ถ์ ์ผ๋ก ์ญ์ ํ๊ธฐ ์ด๋ ต๋ค.
div1.removeChild(div1.firstElementChild); //์ฒซ๋ฒ์งธ ์์์ธ ํ
์คํธ ๋ฐ์ค ์ญ์
div1.removeChild(div1.lastElementChild); //๋ง์ง๋ง ์์์ธ pํ๊ทธ ์ญ์
removeChild๋ฅผ ์ด์ฉํ์ฌ ์ํ๋ ์์๋ง ์ฐพ์์ ์ญ์ ํ๋ค.
๐ปimg ํ๊ทธ ์์ฑ ๋ฐ ์ญ์ ํ๊ธฐ๐ป
innerHTML๋ก ์์ฑํ๊ธฐ
for (var i=1; i<=5; i++) {
div1.innerHTML += '<img src="../asset/images/catty0' + i + '.png">';
}
for (var i=0; i<div1.children.length; i++) {
div1.children[i].addEventListener('click', m4);
}
create๋ก ์์ฑํ๊ธฐ
for (var i=1; i<=5; i++) {
var img = document.createElement('img');
img.setAttribute('src', '../asset/images/catty0' + i + '.png');
img.addEventListener('click', m4);
div1.appendChild(img);
}
์ ํํ ์ด๋ฏธ์ง ์ญ์ ํ๊ธฐ
div1.removeChild(event.target);
๐ปํ ์ด๋ธ ์์ฑํ๊ธฐ๐ป
3 X 3 ํ ์ด๋ธ์ td ์ด๋ฒคํธ๋ ์ถ๊ฐํ๋ค.
<style>
.table {
border: 1px solid gray;
border-collapse: collapse;
}
.table td {
border: 1px solid gray;
padding: 10px 20px;
}
</style>
<h1>DOM ์กฐ์</h1>
<input type="button" value="๋ฒํผ1" id="btn1">
<input type="button" value="๋ฒํผ2" id="btn2">
<input type="button" value="๋ฒํผ3" id="btn3">
<input type="button" value="๋ฒํผ4" id="btn4">
<hr>
<div id="div1"></div>
<script>
document.getElementById('btn1').addEventListener('click', m1);
document.getElementById('btn2').addEventListener('click', m2);
document.getElementById('btn3').addEventListener('click', m3);
document.getElementById('btn4').addEventListener('click', m4);
var div1 = document.getElementById('div1');
function m4() {
//3 X 3 ํ
์ด๋ธ์ td ์ด๋ฒคํธ ์ถ๊ฐ
var table = document.createElement('table');
for (var i=0; i<3; i++) {
var tr = document.createElement('tr');
for (var j=0; j<3; j++) {
var td = document.createElement('td');
td.textContent = 'item';
td.addEventListener('click', m5);
tr.appendChild(td);
}
table.appendChild(tr);
}
table.className = 'table';
div1.appendChild(table);
}
function m5() {
event.target.bgColor = 'gold';
}
</script>
'WEB > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] (์๋)์ฝ๋ ์ฌ๋ฐฐ์น : hoisting (0) | 2023.10.11 |
---|---|
[JavaScript] ๋ณ์ ์ ์ธํ๊ธฐ(var, let, const) (0) | 2023.10.11 |
[JavaScript] DOM - event ๋ฑ๋ก ๋ฐ ์ญ์ (0) | 2023.10.10 |
[JavaScript] DOM - ํ๊ทธ ๊ฒ์ ๋๊ตฌ(2) : Axis ๊ฒ์ (0) | 2023.10.10 |
[JavaScript] DOM - ํ๊ทธ ๊ฒ์ ๋๊ตฌ(1) : ์๋ณ์ ๊ฒ์ (0) | 2023.10.10 |