Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- axios
- 타입스크립트
- 혼자공부하는머신러닝
- CSS
- Redux
- 백준 #코딩테스트
- REACT
- 딥러닝
- 혼자공부하는머신러닝딥러닝
- clipboardapi
- TS
- 머신러닝
- js
- typeScript
- styledcomonents
- 혼공머신
- 코딩테스트
- 구조분해할당
- 백준 #코딩테스트 #코테 #알고리즘
- error맛집
- 혼공단
- 리액트
- reactmemo
- 알고리즘
- 초기값 설정하기
- 백준
- 에러해결방안
- 유니티 #게임개발
- useEffect
- 혼공챌린지
Archives
- Today
- Total
좌충우돌 개발자의 길
[JS] DOM & EVENT #3 노드 생성, 추가, 복제, 삭제 본문
1. 노드 수정 추가
- nodeValue를 이용해서 내용을 추가 수정할 수 있음 (text value만 사용 가능, 나머지는 null처리함)
-> ex) blueTextNode.nodeValue = '파랑'; -> blue -> 파랑으로 바뀜
2. innerHTML
- 사용법) 마크업을 제대로 표현하고 싶을 때 사용
- -> EX) ul.innerHTML = '<li>RED</li>;
- 단점) 요소를 추가,제거 수정할때마다 다시 모든 html을 string으로 추가해야함
- -> EX) ul.innerHTML = '<li>RED</li><li>BLUE</li>;
3. 노드 생성
1) appendChild()
방법1) innerHTML
- 새로운 li 를 만듦 : const newLi = document.createElement('li');
- 자식 텍스트 노드 붙이기 : newLi.innerHTML = 'green'; -> <li>green</li>
- ul태그 안에 넣기 : ul.appendChild(newLi);
방법2) createTextNode
- 새로운 li 만듦 : const newLi2 = document.createElement('li');
- 새로운 텍스트 노드 만듦 : const newText = document.createTextNode('green');
- li태그 안의 자식 텍스트 노드 붙이기 : newLi2 .appendChild(newText );
- ul태그 안에 넣기 : ul.appendChild(newLi2);
2) insertBefore()
- 특정 노드 전에 삽입해라!
-> appendChile : 항상 지정한 부모 노드의 가장 마지막 자식으로 추가됨
-> 원하는 위치가 마지막이 아니라면 insertBefore을 쓰자
-> ul.insertBefore(newLi3, red); : red 앞에 newLi3을 삽입해라는 뜻
4. 노드 복제
1) cloneNode()
const newBlack = newLi3.cloneNode(); //인수로 boolean값만 받음 -> 노드 자신만 복제됨 (자식노드x)
ul.appendChild(newBlack); // <li></li> 태그만 출력
const newBlack2 = newLi3.cloneNode(true); //true로 설정하면 더 깊은 복제를 실행함 -> 자식노드까지 복제함
ul.appendChild(newBlack2); // <li>black</li> 으로 출력
5. 노드 삭제
1) removeChild()
ul.removeChild(newBlack2);
ul.removeChild(ul.firstElementChild); // ul의 첫번째 자식요소노드 삭제
ul.removeChild(ul.lastElementChild); // ul의 마지막 자식요소노드 삭제
출처 : 코딩앙마
'STUDYING > Javascript' 카테고리의 다른 글
[JS] DOM & EVENT #5 이벤트 핸들러(Event Handler) (0) | 2022.05.22 |
---|---|
[JS] DOM & EVENT #4 CSS style, class 제어 (0) | 2022.05.21 |
[JS] DOM & EVENT #2 부모, 자식, 형제 노드 (0) | 2022.05.19 |
[JS] DOM & EVENT #1 노드에 접근하기 (0) | 2022.05.17 |
[JS] 자바스크립트 기초 정리 (0) | 2022.05.15 |