41기 개발자과정

20211104 appendChild

segment 2021. 11. 4. 16:40

- 선택된 객체에 appendChild 의 인수의 객체를 삽입.

 

1.

<div id="topDiv">
		<span class="myText">안녕하세요.</span>
	</div>
	-----------------------------------------
	<div id="bottomDiv"></div>
	<button type="button" id="upBtn">위</button>
	<button type="button" id="dwBtn">아래</button>
var topDiv = document.querySelector('#topDiv');
	var bottomDiv = document.querySelector('#bottomDiv');
	var upBtn = document.querySelector('#upBtn');
	var dwBtn = document.querySelector('#dwBtn');
	
	upBtn.addEventListener('click', function(){
		var myText = bottomDiv.querySelector('.myText');
		if(myText !=undefined){
			topDiv.appendChild(myText);
		}
	})
	
	dwBtn.addEventListener('click', function(){
		var myText = topDiv.querySelector('.myText');
		if(myText !=undefined){
			bottomDiv.appendChild(myText);
		}
	})

 

 

2. 예시

<select multiple="multiple" id="selectLeft" style="width : 100px;">
		<option value="홍길동">홍길동</option>
		<option value="이순신">이순신</option>
		<option value="유관순">유관순</option>
	</select>
	<button type="button" id="moveLeft"> ◀  </button>
	<button type="button" id="moveRight"> ▶ </button>
	<select multiple="multiple" id="selectRight" style="width : 100px;">
	</select>
		var selectLeft = document.querySelector('#selectLeft');
		var moveRight = document.querySelector('#moveRight');
		var moveLeft = document.querySelector('#moveLeft');
		var selectRight = document.querySelector('#selectRight');
		
		moveRight.addEventListener('click', function(){
			var options = selectLeft.querySelectorAll('option');
			console.log(options);
			for(var i=0; i<options.length; i++){
				console.log(options[i].selected);
				if(options[i].selected){
					selectRight.appendChild(options[i]);
				}
			}
		});
		
		moveLeft.addEventListener('click', function(){
			var options = selectRight.querySelectorAll('option');
			console.log(options);
			for(var i=0; i<options.length; i++){
				console.log(options[i].selected);
				if(options[i].selected){
					selectLeft.appendChild(options[i]);
				}
			}
		});

1) options 이 선택되어 있으면 true, 선택이 되어있지 않으면 false 를 반환한다.

var options = selectLeft.querySelectorAll('option');
console.log(options[i].selected)

2) 옵션이 선택되어 있으면 오른쪽으로 appendChild를 실행.

 - 한 노드를 특정 부모 노드의 자식 노드 리스트 중 마지막 자식으로 붙인다.

if(options[i].selected){
		selectRight.appendChild(options[i]);
				}