일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 배열
- 자바스크립트
- date
- ArrayList
- table
- 테이블
- js
- html
- IntelliJ
- javascript
- Java
- Maven
- 이탈리아
- CSS
- Visual Studio Code
- Button
- vscode
- Eclipse
- 이클립스
- Files
- input
- 자바
- json
- string
- list
- Array
- CMD
- windows
- 인텔리제이
- 문자열
- Today
- Total
어제 오늘 내일
[Javascript] div 생성, 삭제, 숨기기 본문
지난번에는 <div> 안의 내용을 추가, 변경, 삭제하고, 읽어오는 방법을 알아보았습니다.
[Javascript] div 안의 내용 가져오기, 추가, 변경, 삭제 (text, html)
이번에는 <div> 태그를 생성하고, 삭제하고, 숨기는 방법을 정리해 보도록 하겠습니다.
1. <div> element 생성하기
<body>
<input type='button'
value='createDiv'
onclick='createDiv()'/>
</body>
function createDiv() {
// 1. <div> element 만들기
const newDiv = document.createElement('div');
// 2. <div>에 들어갈 text node 만들기
const newText = document.createTextNode('안녕하세요');
// 3. <div>에 text node 붙이기
newDiv.appendChild(newText);
// 4. <body>에 1에서 만든 <div> element 붙이기
document.body.appendChild(newDiv);
}
const newDiv = document.createElement('div');
새로운 <div> element를 생성합니다.
const newText = document.createTextNode('안녕하세요');
<div> element에 붙일 텍스트 노드를 생성합니다.
newDiv.appendChild(newText);
텍스트 노드를 <div>에 element에 붙입니다.
document.body.appendChild(newDiv);
<div> element를 <body>에 붙입니다.
이 때, 텍스트 노드를 생성하고, 이 텍스트 노드를 <div>에 붙이는 것을
innerText, innerHTML, textContent를 사용할 수도 있습니다.
자세한 내용은 지난 포스팅을 참조하세요.
[Javascript] innerHTML, innerText, textContent 차이점
2. <div> element 삭제하기
<div id='my_div'>
버튼을 누르면 이 div는 삭제됩니다.
</div>
<input type='button'
value='deleteDiv'
onclick='deleteDiv()'/>
function deleteDiv() {
const div = document.getElementById('my_div');
div.remove();
}
div.remove();
element를 삭제하기 위해서는,
삭제하려는 element를 선택하고, element.remove() 함수를 호출합니다.
3. <div> element 숨기기
style.display 속성 사용하기
<div id='my_div'>
버튼을 누르면 이 div는 토글됩니다.
</div>
<input type='button'
value='toggleDiv'
onclick='toggleDiv()'/>
function toggleDiv() {
const div = document.getElementById('my_div');
if(div.style.display === 'none') {
div.style.display = 'block';
}else {
div.style.display = 'none';
}
}
위 예제는 버튼을 누를 때마다 상단의 <div> 영역이 toggle 되는 예제입니다.
버튼이 클릭될 때마다
div.style.display 값을 체크하고,
div.style.display 값을 'block', 'none'으로 설정해 주었습니다.
style.visibility 속성 사용하기
<div id='my_div'>
버튼을 누르면 이 div는 토글됩니다.
</div>
<input type='button'
value='toggleDiv'
onclick='toggleDiv()'/>
function toggleDiv() {
const div = document.getElementById('my_div');
if(div.style.visibility === 'hidden') {
div.style.visibility = 'visible';
}else {
div.style.visibility = 'hidden';
}
}
이 예제도 위의 예제(style.display 속성 사용하기)와 같이
버튼을 클릭할 때마다 <div>영역이 토글 됩니다.
display 속성 대신 visibility 속성을 사용하면,
<div>가 hidden이 되더라도 원래 <div>가 있던 영역은 그대로 유지됩니다.
이 예제에서는 <div>가 hidden이 되더라도
<div> 영역이 유지되므로, 버튼의 위치도 움직이지 않는 것을 확인 할 수 있습니다.
element를 생성, 삭제하고, 숨기기 하는 방법을 알아보았습니다.
'IT > Javascript' 카테고리의 다른 글
[Javascript/ES6] 함수 파라미터(매개변수) 기본값 설정하기 (0) | 2021.01.07 |
---|---|
[Javascript] 선택자, DOM 특정 요소(element) 찾기 (0) | 2021.01.06 |
[Javascript] div 안의 내용 가져오기, 추가, 변경, 삭제 (text, html) (2) | 2021.01.05 |
[Javascript] innerHTML, innerText, textContent 차이점 (1) | 2021.01.05 |
[Javascript] 버튼에 강제 클릭 발생 시키기 (0) | 2021.01.04 |