티스토리 뷰
728x90
반응형
javascript로 플러그인이나 라이브러리
좀 더 편한 개발을 위해 제작하다보면 innerHTML을 많이 활용하게 된다.
var div = document.createElement('div');
div.className = "modal";
div.innerText = '모달내용';
document.body.appendChild(div);
이렇게 하는것보다
document.body.innerHTML += `<div class="modal">모달내용</div>
이 편하기 때문이다.
하지만 innerHTML의 경우 추가된 내용만 추가하는것이 아니라 모든 내용을 처음부터 다시 그린다.
새로 작성하는것과 마찬가지라는 것이다.
그래서 등록된 이벤트, 현재 진행중인 이벤트 모든것이 취소가 된다.
물론 해당 태그에 직접 onclick등으로 된것은 해당 엘리먼트에 innerHTML만으로도 재할당되기에 동작이 된다.
하지만 addEventListner나 jquery등으로 등록한 이벤트는 실행되지 않는다.
(이걸 활용하여 상황에 따라 등록된 이벤트를 초기화 하기도 하니 사용하기 나름이다)
또한 내용이 많을 경우 그리는데에 시간이 많이 가게된다.
간단한 내용 특정 지역에서 새로 그려도 크게 문제 없는 부분이라면 innerHTML을 써도 무방하지만
그것이 아니라면 appendChild를 사용하는것이 낫다
728x90
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
IFrame YOUTUBE API를 활용한 custom player 개발 1편 (0) | 2020.12.23 |
---|---|
클라이언트(사용자)쪽에서 비디오 썸네일 뽑기 (0) | 2020.12.22 |
폼 데이터를 json 데이터로 보내고 싶을 때. (0) | 2020.12.21 |
WebAssembly를 활용한 Rich Text Editor 제작기 2편 (0) | 2020.12.20 |
WebAssembly를 활용한 Rich Text Editor 제작기 1편 (0) | 2020.12.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ffmpeg
- #팀별 분석
- 노력만 가상한 글
- 티스토리API
- contributor
- craco
- 배포
- webassembly
- HWP
- 7위를 하는 이유
- 무관의 왕
- 마크다운
- #useState
- #useState 특징
- #그래프
- API
- iframe
- 그래프
- 팀별 분석
- contributer
- JavaScript
- #노력만 가상한 글
- vscode
- youtube
- vtie
- Rust
- 웹어셈블리
- WASM
- #업데이트가 이상하게 될떄
- KBL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함