학습 목표
1. Flexible Box(flexbox)를 활용해서 HTML 요소를 만들어 보자.
2. 반복문을 사용한 LIST 만들어 보기
index2.html
더보기
index2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>반복문을 활용한 리스트 생성</title>
<style>
body{
background-color: brown;
display: flex;
flex-direction: column;
align-items: center;
margin: 0;
padding: 0;
}
button {
background-color: aquamarine;
color: white;
margin: 20px;
border: none;
font-size: 1em;
padding: 8px;
}
.container {
display: flex;
/* 요소들이 컨테이너 영역을 벗어나면 다음줄로 자연스럽게 이동합니다. */
flex-wrap: wrap;
width: 80%;
}
.card {
background-color: white;
margin: 10px;
padding: 20px;
border-radius: 8px;
flex: 1;
/* 최소 버튼 클릭 */
min-width: calc(33.33% - 20px);
text-align: center;
}
</style>
</head>
<body>
<h1>반복문을 활용한 리스트 생성</h1>
<button onclick="render()">Render</button>
<div class="container" id = "container">
<!-- 자바스크립트로 요소 동적 생성 -->
<!-- <div class="card">
<h2>Title 1</h2>
<p>content</p>
<button onclick="deleteCard('1')">Delete</button>
</div> -->
</div>
<script>
let count = 0; // 카드의 고유한 id를 생성하기 위한 변수로 활용한다.
function render() {
// 카드가 추가될 컨테이너 요소를 가져옵니다.
const container = window.document.getElementById('container')
// 동적으로 생성한 CARD 요소를 container에 자식으로 넣어주면 된다.
for(let i= 1; i<=3; i++) {
count++;
const card = createCard(count);
container.append(card);
}
}
function createCard(cardId) {
// 함수를 통해서 HTML 요소를 생성하는 거 연습
const card = window.document.createElement('div'); // createElement() --> <div></div> 태그를 생성해 준다.
card.className = "card"; // ex ) <div class='card'></div> 를 생성해 준다.
card.id = "card-" + cardId; // 식별을 할 수 있도록 한다.
// 백틱을 활용해서 요소를 만드는 방법 연습
card.innerHTML = `
<h2>Title ${cardId}</h2>
<p>content ${cardId}</p>
<button onclick="deleteCard(${cardId})">Delete</button>
`; // textContent 말고 innerHTML을 사용했음
return card;
}
function deleteCard(cardId) {
// 요소를 삭제하는 방법은
// element.remove() 만 호출하면 된다.
// 1.해당하는 요소를 가져온다.
const card = document.getElementById('card-'+cardId);
card.remove(); // quertSelector() 조사
}
</script>
</body>
</html>
'

'JS' 카테고리의 다른 글
| 2024.08.01 JavaScript 핵심 JS 이벤트 처리 - 6(배너변경하기) (0) | 2024.08.01 |
|---|---|
| 2024.08.01 JavaScript 핵심 JS 이벤트 처리 - 5(이미지 토글) (0) | 2024.08.01 |
| 2024.07.30 JavaScript 핵심 JS 이벤트 처리 - 3(forms) (0) | 2024.07.29 |
| 2024.07.26 JavaScript 핵심 JS 이벤트 처리 - 2(addEventListener) (0) | 2024.07.26 |
| 2024.07.24 JavaScript 핵심 JS 이벤트 처리 - 1 (기본) (0) | 2024.07.24 |