바닐라 ★append 많이 쓰인다★
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.box {
margin-top: 10px;
border: 1px solid black;
padding: 10px;
}
</style>
</head>
<body>
<h1>추가하기</h1>
<button onclick="addAppend()">append로 추가하기</button>
<button onclick="addPrepend()">prepend로 추가하기</button>
<button onclick="addBefore()">before로 추가하기</button>
<button onclick="addAfter()">after로 추가하기</button>
<div class="box" id="outerBox">
</div>
<script>
function addAppend() {
let newEl = document.createElement("div");
newEl.setAttribute("class", "box");
newEl.setAttribute("id", "innerBox1");
//id, innerBox1 속성을 줬으니, 애는 이제 id innerBox1이다. (자세한 설명은 아래에)
newEl.innerHTML = "내부박스1";
let el = document.querySelector("#outerBox");
el.append(newEl);
}
function addPrepend() {
let newEl = document.createElement("div");
newEl.setAttribute("class", "box");
newEl.setAttribute("id", "innerBox2");
newEl.innerHTML = "내부박스2";
let el = document.querySelector("#outerBox");
el.prepend(newEl);
}
function addBefore() {
let newEl = document.createElement("div");
newEl.setAttribute("class", "box");
newEl.setAttribute("id", "innerBox3");
newEl.innerHTML = "내부박스3";
let el = document.querySelector("#outerBox");
el.before(newEl);
}
function addAfter() {
let newEl = document.createElement("div");
newEl.setAttribute("class", "box");
newEl.setAttribute("id", "innerBox4");
newEl.innerHTML = "내부박스4";
let el = document.querySelector("#outerBox");
el.after(newEl);
}
</script>
</body>
</html>
//id 하나 추가 된 모습! id를 동적으로 만들어냄

setAttribute를 사용해 자바 스크립트로 동적으로 만들어내기
innerHTML / innerText
val() (input 태그에 사용)
자바 스크립트로 하면 이런 풀코드가 필요하네… jQuery로 바꿔보자!
jQuery로 변경 하자
[ 추가하기 코드 ]
<script>
function addAppend() {
// let newEl = document.createElement("div");
// console.log(newEl);
// console.log("<div></div");
// newEl.setAttribute("class", "box");
// newEl.setAttribute("id", "innerBox1");
// newEl.innerHTML = "내부박스1";
// let el = document.querySelector("#outerBox");
// el.append(newEl);
let newString = `<div class="box" id="innerBox">내부박스</div>`;
$("#outerBox").append(newString);
}[ jQuery로 바꿨을 때, 실행 화면 ]

[ 이렇게 사용하면 좋은 점 ]

디자인을 자바 스크립트 function에 넣어놓고 땡겨쓸 수 있음! -> 재사용 가능!그러나!! id가 중복되는 문제 발생!
그러나!! id가 유일하지 않은 문제가 있다. id가 유일하지 않으면 삭제하고 싶은 특정한 엘리먼트를 찾을 수가 없어서 삭제를 못함
<script>
let n = 1;
function addAppend() {
let newString = `<div class="box" id="innerBox1${n}">내부박스${n}</div>`;
n++;
$("#outerBox").append(newString);
}
id 값이 다 다르게 나오는 것 확인! → 바꿔보자! → DOM 삭제하기 (전역변수 이용)
id는 유일해야한다!
Share article















