js가 가지는 차별점은 아래의 3가지 라고 생각한다.
1. html문서의 특정 태그를 추출 및 조작(변경, 제거)
2. js를 이용해 html 태그를 삽입
3. 이벤트의 활용.
1. 특정 태그의 지정
1) 태그 선택하기
document.getElementById('id') : html에 지정된 id값을 찾아서 해당 태그를 지정한다.
document.getElementsByClassName('class') : html에 지정된 class를 가진 모든 요소를 반환한다.(배열)
document.querySelector('selector') : html에서 css선택자 방식으로 선택된 첫번째 요소를 반환한다.
document.querySelectorAll('selector') : html에서 css선택자 방식으로 선택된 모든 요소를 반환한다.(배열)
document.title: 페이지의 제목(<title>)을 수정하거나 가져옵니다.
document.body / document.head: body나 head 태그에 바로 접근합니다.
document.URL: 현재 페이지의 전체 URL을 가져옵니다.
document.cookie: 쿠키 정보를 읽거나 설정합니다.
2) 내용이나 속성 변경하기
element : 1)에서 선택자를 이용해서 지정한 하나의 요소.
element.textContext : 요소 안의 텍스트를 읽어오거나 수정함.
-1] element.textContext = '예시' >> '예시' 라는 문자열 값으로 치환
-2] consol.log(element.textContext) >> element에 있는 text 값을 읽어서 콘솔창에 표기
element.innerHTML : 요소 안의 HTML 태그를 해석해서 수정합니다.
element.setAttribute('attr','value') : 속성을 설정합니다.(삭제는 불가)
ex) img태그의 src, a태그의 href 등
element.style.[속성값] = value : 스타일의 속성값을 해당 value로 변경합니다.
element.classList : 클래스를 추가, 제거, 반전할 때 사용합니다.
2. 요소 생성 및 추가/삭제 (Creation & Deletion)
document.createElement('tagName'): 새로운 HTML 요소를 메모리 상에 만듭니다.
parent.appendChild(element): 특정 부모 요소의 마지막 자식으로 추가합니다.
parent.removeChild(element) : 특정 부모의 아래에 있는 요소를 삭제합니다.
element.remove() : 지정된 요소를 삭제합니다.
parent.insertAdjacentHTML("position", element) : 부모태그를 기준으로 position의 위치에 element를 추가합니다.
position에 따른 추가 위치
"beforebegin"
<parent>
"afterbegin"
<자식태그들/>
"beforeend"
</parent>
"afterend"
3. 이벤트의 활용
아래의 이벤트는 element.addEventListener('타이밍','실행값(함수)') 형태에서 사용할 수 있다.
혹은 on+타이밍 형태로 이벤트를 추가할 수 있다.
on+타이밍의 경우 새롭게 작성하면 덮어쓰기가 되는 것이고
addEventListener를 사용할 경우 계속해서 추가가 된다.
특정기능을 삭제하고 싶다면 on+타이밍 = null이나 removeEventListener를 사용해야한다.
1) 마우스 이벤트
click : 마우스 왼쪽 클릭
dblclick : 마우스 왼쪽 더블클릭
mouseenter : 마우스 포인터가 요소의 영역에 들어올 때
mouseover : 마우스 포인터가 요소의 위에 있을 때
mouseleave : 마우스 포인터가 요소를 벗어날 때
mouseout : 마우스 포인터가 요소를 벗어난 상태일때 ??
contextmenu : 마우스 오른쪽 클릭을 했을 때
2) 키보드 이벤트
keydown : 키를 누르는 순간
keyup : 눌렀던 키를 올리는 순간
keypress : 키가 눌려있는 상태일 때 지속적으로 발생
특정 키를 점검하는 방법
event.key를 활용해서 현재 눌린 키 값을 알 수 있다.
addEventListener에서 람다식으로 event라는 입력을 받으면 특정 이벤트가 일어날 때 어떤 event가 일어났는지를 확인할 수 있게 된다.
아래의 코드를 이용해 현재 무슨 키가 입력되는지를 확인해볼 수도 있다.
document.addEventListener('keydown', (e) => { console.log(`입력된 값(key): ${e.key} | 물리적 위치(code): ${e.code}`); });
3) 폼 및 입력 이벤트
submit : <form> 태그가 제출되는 상황에서 사용
* event.preventDefault() : 이벤트의 발생을 정지하는 코드.
chage : 입력값이 바뀌고 포커스를 잃었을 때
input : 사용자가 키보드를 누를 때 마다 발생
focus : 입력창을 활성화 했을 때
blur : 입력창이 비활성화 되었을 때
4)
DOMContentLoaded : HTML 문서 구조가 완전히 로드 되었을 때(스크립트를 안전하게 실행하기 위한 기준으로 사용)
load : 특정 element의 모든 리소스가 로드되었을 때
resize : 브라우저 창 크기를 조절할 때
scroll : 페이지를 스크롤 할 때
'IT 공부내용 정리 > WEB' 카테고리의 다른 글
| Css에서 내가 자주 사용하던 내용을 정리 (1) | 2025.12.16 |
|---|---|
| 리눅스(Linux) 리액트(React) 설치 (0) | 2025.12.03 |