본문 바로가기

JavaScript

(83)
[JavaScript] Truthy 값과 Falsy 값 [Falsy] Falsy 값에는 null, undefined, 0, NaN, ''(빈 문자열) 이 있으며 이 값을 제외한 나머지 값은 truthy 값이다. // falsy Boolean(false); Boolean(null); Boolean(undefined); Boolean(0); Boolean(NaN); Boolean(''); [Truthy] // truthy Boolean(true); Boolean('codeit'); Boolean(123); Boolean(-123); Boolean({}); Boolean([]);
[JavaScript] input 태그 [input 태그] 이벤트 타입 설명 focusin 요소에 포커스가 되는 순간 focusout 요소에 포커스가 빠져나가는 순간 focus 요소에 포커스가 되는 순간 (버블링이 일어나지 않음) blur 요소에 포커스가 빠져나가는 순간 (버블링이 일어나지 않음) change 입력된 값이 바뀌는 순간 input 값이 입력되는 순간 select 입력 양식의 하나가 선택되는 순간 submit 폼을 전송하는 순간
[JavaScript] 마우스 이벤트 1. MouseEvent.button 마우스 이벤트 객체의 버튼 프로퍼티를 활용하면, 어떤 버튼을 눌러서 일어난 이벤트 인지 확인 가능 마우스 버튼을 눌렀을 때 일어난 이벤트에 대해서 어떤 버튼을 눌러서 일어난 이벤 값 내용 0 마우스 왼쪽 버튼 1 마우스 휠 2 마우스 오른쪽 버튼 3 X1 (일반적으로 브라우저 뒤로 가기 버튼) 4 X2 (일반적으로 브라우저 앞으로 가기 버튼) mouseenter, mouseleave, mouseover, mouseout, mousemove 처럼 마우스 이동과 관련된 이벤트는 값이 null 이나 undefined가 아니라 0임. 2.MouseEvent.type 이벤트 타입 설명 mousedown 마우스 버튼을 누르는 순간 mouseup 마우스 버튼을 눌렀다 떼는 순간 ..
[JavaScript] 브라우저 기본동작 및 제한 브라우저 기본동작 : 브라우저에는 각 태그별, 상황별로 기본적으로 약속한 동작이 있음. 예 ) 마우스 오른쪽 클릭시 메뉴 창이 뜸 const link = document.querySelector('#link'); const checkbox = document.querySelector('#checkbox'); const input = document.querySelector('#input'); const text = document.querySelector('#text'); link.addEventListener('click', function(e) { e.preventDefault(); // 브라우저의 기본동작을 제한하는 메소드 alert('지금은 이동할 수 없습니다.'); }); input.addEve..
[JavaScript] 스타일 다루기 1. style 프로퍼티 활용하기 : element.style.styleName = 'value'; const today = document.querySelector('#today'); const tomorrow = document.querySelector('#tomorrow'); today.children[0].style.textDecoration = 'line-through'; today.children[0].style.backgroundColor = '#DDDDDD'; today.children[2].style.textDecoration = 'line-through'; today.children[2].style.backgroundColor = '#DDDDDD'; 프로퍼티에 styleName을 넣을 ..
[JavaScript] HTML 속성 비표준인 HTML 속성도 다룰 수 있는 메소드 1. 속성에 접근하기 : element.getAttribute('속성') // HTML 속성 (HTML attribute) const tomorrow = document.querySelector('#tomorrow'); const item = tomorrow.firstElementChild; const link = item.firstElementChild; // elem.getAttribute('속성'): 속성에 접근하기 console.log(tomorrow.getAttribute('href')); console.log(item.getAttribute('class')); 2. 속성 추가하기 : element.setAttribute('속성', '값') // H..
[JavaScript] 요소 노드 추가 / 이동 / 삭제 1. 요소 노드 추가 const today = document.querySelector('#today'); today.innerHTML = '처음' + today.innerHTML; today.innerHTML = today.innerHTML + '마지막'; today.outerHTML = '이전' + today.outerHTML; const newToday = document.querySelector('#today'); newToday.outerHTML = newToday.outerHTML + '다음'; // 요소 노드 추가하기 const tomorrow = document.querySelector('#tomorrow'); // 1. 요소 노드 만들기: document.createElement('태그이..
[JavaScript] DOM 트리 DOM트리 HTML의 계층 구조는 DOM에서도 반영되는데 이러한 계층구조를 나무에 비유해서 DOM 트리라고 한다. 각 노드 간의 관계는 부모, 자식, 형제라는 용어로 표현함. 요소노드(Element Node) : 태그를 표현하는 노드 텍스트노드(TextNode) : 문자를 표현하는 노드로 일반적으로 요소노드의 자식요소가 되며 자식요소를 가질 수 없음. 요소노드에 대한 이동 프로퍼티 프로퍼티 유형 결과 element.children 자식 요소 노드 element의 자식 요소 모음(HTMLCollection) element.firstElementChild 자식 요소 노드 element의 첫 번째 자식 요소 하나 element.lastElementChild 자식 요소 노드 element의 마지막 자식 요소 하..