본문 바로가기
Progamming/BoostCourse

DOM APIs 실습

by 동그란 혜주 2019. 2. 10.

참고 링크 : https://jsbin.com/mebuha/1/edit?html,js,output


  • 실습1

Q. 지금 나온 DOM API를 사용해서, strawberry 아래에 새로운 과일을 하나 더 추가하시오. 추가된 이후에는 다시 삭제하시오.

A. 

var melon = document.createElement("li");
var melonText = document.createTextNode("melon")
melon.appendChild(melonText);
 
//실습1
var ul = document.querySelector('ul');
ul.appendChild(melon);
ul.removeChild(melon);
cs


  • 실습2

Q. insertBefore 메소드를 사용해서, orange와 banana 사이에 새로운 과일을 추가하시오.

A.

//실습2
var banana = document.querySelector('li:nth-child(3)');
ul.insertBefore(melon, banana);
cs


  • 실습3

Q. insertAdjacentHTML 메소드를 사용해서, orange와 banana 사이에 새로운 과일을 추가하시오.

A.

//실습3
banana.insertAdjacentHTML("beforebegin""<li>mango</li>");
cs


  • 실습4

Q. apple을 orange와 strawberry 사이로 옮기시오.

A.

//실습4
var apple = document.querySelector('li:nth-child(1)');
var strawberry = document.querySelector('li:nth-child(7)');
 
ul.insertBefore(apple, strawberry);
cs



참고 링크 : https://jsbin.com/redetul/1/edit?html,css,js,output


  • 실습5

Q. class가 'red'인 노드만 삭제하시오.

A.

var red = document.querySelectorAll('li.red');
var ul = document.querySelector('ul');
 
//실습5
for(var i = 0; i<red.length; i++) {
  ul.removeChild(red[i]);
}
cs



참고 링크 : https://jsbin.com/ricopa/1/edit?html,css,js,output


  • 실습6

Q. section 태그의 자손 중에 blue라는 클래스를 가지고 있는 노드가 있다면 그 하위의 h2 노드를 삭제하시오.

A.

//실습6
var bluenode = document.querySelectorAll('section .blue');
console.log(bluenode);
 
for(var i = 0; i < bluenode.length; i++) {
  var section = bluenode[i].closest('section');
  console.log(section);
  var h2 = section.querySelector('h2');
  console.log(h2);
  section.removeChild(h2);
}
cs


'Progamming > BoostCourse' 카테고리의 다른 글

웹 애니메이션 이해와 setTimeout 활용  (0) 2019.02.11
Ajax 응답 처리와 비동기  (0) 2019.02.11
DOM Node 조작하기  (0) 2019.02.10
자바스크립트 객체  (0) 2019.02.10
자바스크립트 배열  (0) 2019.02.03

댓글