-
자바스크립트 구성요소 ~ 함수 만들기Java Script/MDN 정리 2020. 7. 25. 00:09반응형
Active learning: Let's build a function
본격적으로 시작하기 앞서, 기본적인 함수를 만들어봅시다..
function-start.html 파일을 연습하고있는 컴퓨터에 복사하여 저장합니다. HTML 구조는 매우 간단합니다. — body 태그에는 한 개의 버튼이 있습니다. 그리고 style 태그에 메시지 박스를 위한 CSS 블럭이 있습니다. 그리고 비어있는 `` 엘리먼트에 연습할 자바스크립트 코드를 앞으로 쓰겠씁니다..
다음으로 아래의 코드를 script 엘리먼트에 써봅시다.
function displayMessage() { }
마지막으로 아래의 코드를 중괄호 안에 작성합니다.
const html = document.querySelector('html'); const panel = document.createElement('div'); panel.setAttribute('class', 'msgBox'); html.appendChild(panel); const msg = document.createElement('p'); msg.textContent = 'This is a message box'; panel.appendChild(msg); const closeBtn = document.createElement('button'); closeBtn.textContent = 'x'; panel.appendChild(closeBtn); closeBtn.onclick = function() { panel.parentNode.removeChild(panel); }
첫 번째 줄에서 document.querySelector() 라는 DOM API를 사용했습니다.
- 이 API는 엘리먼트를 선택하여 html이라는 변수에 저장합니다. 따라서 아래와 같은 작업을 수행할 수 있음
const html = document.querySelector('html');
- 이 API는 엘리먼트를 선택하여 html이라는 변수에 저장합니다. 따라서 아래와 같은 작업을 수행할 수 있음
다음 줄에선 마찬가지로 DOM API인 document.createElement() 을 사용하여
엘리먼트를 생성한 후 panel변수에 저장. 이 엘리먼트는 메시지 상자 바깥쪽 컨테이너가 될 것 입니다.그리고 또 다른 DOM API인 Element.setAttribute() 을 사용하여 class 속성을 만들고 그 이름을 msgBox로 지정. 이 작업으로 스타일을 좀 더 쉽게 적용 가능. — HTML 파일의 CSS 블럭을 살펴보면 .msgBox 클래스 셀렉터를 사용하여 메시지 박스와 그 내용을 스타일링할 수 있음을 알 수 있다.
마지막으로, Node.appendChild() DOM 함수를 사용하여 html 변수 안의 엘리먼트에 panel 변수에 저장된
엘리먼트를 자식 엘리먼트로 삽입. 변수 선언만으로는 페이지에 표시할 수 없다. 반드시 아래처럼 작성하여 엘리먼트가 어디에 표시되는지 명시해야 한다.const panel = document.createElement('div'); panel.setAttribute('class', 'msgBox'); html.appendChild(panel);
다음 두 섹션은 위에서 봤던것과 동일한 createElement() 그리고 appendChild() 함수를 사용. —
그리고