// 1.‘Home’이라고 적힌 <li> 태그를 생성하세요.
let liTag = document.createElement('li');
let liText = liTag.textContent = 'Home'
// 2.insertBefore menu의 ()를 사용해서<li> 태그 앞에 'Home'을 삽입하세요.
let menu = document.getElementById("menu");
let lifast = menu.querySelector('li:first-child');
menu.insertBefore(liTag,lifast)
// 3. insertBefore()를 사용해서 calendar의 첫 번째 child로 예약 알람 문구를 삽입하세요.
let calendar = document.getElementById("calendar");
let div = document.createElement('div');
div.innerHTML = "<strong>안녕하세요!</strong> 예약하신 날짜입니다."
calendar.insertBefore(div, calendar.firstElementChild)
// insertBefore(삽일할 요소 , 삽입할위치)
// 4. removeChild()를사용해서 'Contact'라고 적힌 <li> 태그를 삭제하세요.
menu.removeChild(menu.lastElementChild)
위는 예시 코드.
DOM Tree 로 브라우저 형태 변형 - insertBefore()
DOM 요소를 다루는 연습을 해봅니다.
createElement를 이용해 요소를 반환하는 변수를 만들 수 있습니다.
<li> 태그를 생성하고 textContent로 해당 요소의 텍스트를 채워줍니다.
let li = document.createElement("li");
li.textContent = "Home";
id가 menu인 요소의 맨 앞에 위에서 생성한 li를 넣어주어야 합니다.
insertBefore를 이용하면 특정 요소 앞에 값을 넣을 수 있습니다.
현재 menu의 제일 앞에 있는 요소를 firstElementChild로 찾아, 해당 요소 앞에 넣어주면 됩니다.
menu.insertBefore(li, menu.firstElementChild);
같은 방식으로 <div> 요소를 만들어서 calendar 앞에 넣어줍니다.
단 이번에 삽입해야 하는 <div> 태그는 HTML이 포함되어 있기 때문에 textContent가 아닌 innerHTML을 이용해야 합니다.
let div = document.createElement("div");
div.innerHTML = "<strong>안녕하세요!</strong> 예약하신 날짜입니다.";
calendar.insertBefore(div, calendar.firstElementChild);
마지막으로 요소를 삭제하는 법을 확인해보겠습니다.
요소의 삭제는 removeChild를 이용해 삭제합니다. 삭제하는 요소가 menu의 제일 마지막에 있는 요소이므로, menu.lastElementChild를 이용하면 됩니다.
menu.removeChild(menu.lastElementChild);
답안 코드
// 1.‘Home’이라고 적힌 <li> 태그를 생성하세요.
let li = document.createElement("li");
li.textContent = "Home";
// 2.insertBefore()를 사용해서 menu의 <li> 태그 앞에 'Home'을 삽입하세요.
let menu = document.getElementById("menu");
menu.insertBefore(li, menu.firstElementChild);
// 3. insertBefore()를 사용해서 calendar의 첫 번째 child로 예약 알람 문구를 삽입하세요.
let calendar = document.getElementById("calendar");
let div = document.createElement("div");
div.innerHTML = "<strong>안녕하세요!</strong> 예약하신 날짜입니다.";
calendar.insertBefore(div, calendar.firstElementChild);
// 4. removeChild()를사용해서 'Contact'라고 적힌 <li> 태그를 삭제하세요.
menu.removeChild(menu.lastElementChild);
'공부용' 카테고리의 다른 글
셋인터벌을 이용하여 반복행동 랜덤값 추가 (0) | 2023.09.17 |
---|---|
아이템 리스트 추가 / 삭제 /입력 방법 (0) | 2023.09.17 |
dom 요소의 선택. // 누르면 바뀌게하기. (0) | 2023.09.17 |
좌우 클릭으로 슬라이드 만들기 (0) | 2023.09.17 |
nav 클릭시 부드러운 스크롤 만들기 / 자바스크립트 슬라이드 / 탭메뉴만들기 (0) | 2023.09.17 |