01 DOM 조작
DocumentObjectModel 을 탐색하고 조작하는 명령어를 알아보자
01-1 Js
함수종류
종류 | 설명 |
---|---|
Element.innerText | 요소내 포함 된 text 을 가져오거나 설정숨긴글씨제외 |
Element.innerHTML | 요소내 포함 된 HTML 을 가져오거나 설정 |
Element.textContent | 요소내 포함 된 text 을 가져오거나 설정숨긴글씨포함 |
Element.insertAdjacentHTML() | 특정 위치에 DOM tree 안에 원하는 node들을 추가함 |
🔗mdn | 'beforebegin' element 앞에 |
'afterbegin' element 안에 가장 첫번째 child | |
'beforeend' element 안에 가장 지막 child | |
'afterend' element 뒤에 | |
Element.getAttribute() | 태그의 속성을 얻어옴 |
Element.setAttribute() | 태그의 속성을 변경함 |
예제
01-2 JQ
함수종류
종류 | 설명 |
$(“ele”).text(“”); | text 요소 취득,수정,치환 |
$(“ele”).html(“”); | html 요소 취득,수정,치환 |
$(“selector”).append(“”); | 요소를 막내로 추가 |
$(“selector”).prepend(“”); | 요소를 첫째로 추가 |
$(“selector”).before(“”); | 요소를 앞에 추가 |
$(“selector”).after(“”); | 요소를 뒤에 추가 |
$("ele").text("")/html("")
은 인자를 몇개 전달하는지만 기억하자
$("ele").text/html( )
: 가져와
$("ele").text/html("")
: 비워
$("ele").text/html("","")
:바꿔
예제
02 EVENT
웹 브라우저에서 버튼을 클릭한다거나 mouse를 움직이거나 하는 모든 행위를 ‘이벤트’라고 합니다. 그리고 이벤트발생 시 함수의 실행문이 수행되도록 이벤트를 지정하는 것을 이벤트 핸들러라고 합니다. 이벤트 발생시 관련 정보를 가지고 있는 이벤트 객체를 전달받을수 있습니다.
02-1 Js
함수종류
이벤트 객체의 속성 | 설명 | 예시 |
---|---|---|
일반 | — | — |
type | 이벤트 종류 | event.type => click 등 |
target | 이벤트를 발생시킨 요소 | event.target.id :이벤트를 발생시킨 요소의 id 값을 나타냄 |
좌표 | — | — |
screenX,screenY | 사용자 모니터 화면을 기준으로 한 좌표 | |
pageX ,pageY | 전체 문서를 기준으로 한 좌표(스크롤포함) | |
clientX,clientY | 브라우저에서 사용자에게 웹페이지가 보여지는 영역을 기준(스크롤무시) | |
offsetX,offsetY | 이벤트 대상 객체(좌표를 출력하도록 하는 이벤트가 걸려있는 DOM node를 기준)에서의 상대 좌표 | |
키보드,마우스 | — | — |
mouse | 마우스 눌러진 버튼 (좌측 버튼 : 0, 가운데 : 1, 우측 : 2) | |
key | 눌린 키의 값 | |
keyCode | 눌린 키의코드) | |
altKey | Alt 키 눌려진 여부 (true : 눌려짐, false : 안 눌려짐) | |
ctrlKey | Ctrl 키 눌려진 여부 | |
shiftKey | 시프트 키 눌려진 여부 | |
touchstart | 스크린에 손가락이 닿을때 | |
touchmove | 스크린에 손가락이 닿을채로 움직일때 | |
touchend | 스크린에 손가락을 뗄때 | |
메소드 | — | — |
preventDefault() | 이벤트에 대한웹브라우저의 기본동작 취소하기 | +. |
stopPropagation() | 이벤트 버블링의 정지 | |
stopimmediatePropagation() | 이벤트 버블링의 즉시 정지-같은 요소의 다른이벤트 리스너 실행까지도 멈춤) |
예제
02-2 JQ
함수종류
종류 | 설명 |
$(“ele”).text(“”); | text 요소 취득,수정,치환 |
$(“ele”).html(“”); | html 요소 취득,수정,치환 |
$(“selector”).append(“”); | 요소를 막내로 추가 |
$(“selector”).prepend(“”); | 요소를 첫째로 추가 |
$(“selector”).before(“”); | 요소를 앞에 추가 |
$(“selector”).after(“”); | 요소를 뒤에 추가 |
$("ele").text("")/html("")
은 인자를 몇개 전달하는지만 기억하자
$("ele").text/html( )
: 가져와
$("ele").text/html("")
: 비워
$("ele").text/html("aaa")
:바꿔
예제
03 Accrodian
아코디언 UI를 만들어보자
선택된 요소만 펼쳐지는 형태인 아코디언 UI를 구현해 보자. 선택된 요소만 on 시키는 두가지 방법
- 모두 off 선택된 것 만 on
- 조건을 비교해서 모두 off 선택된 것 만 on
1단계
CSS 없이 기능만 제작한다
03-1 Js
03-1 JQ
2단계
CSS 를 넣어 UI를 완성한다 전부 off 후 클릭한것만 on 한다
02-2 Js
02-2 JQ
3단계
조건을 비교하여 전부 off 후 클릭한것만 on 한다
03-3 Js
03-3 JQ
버그수정
높이를 고정으로 주었더니 4번째 메뉴가 안보인다. 높이를 요소에서 가져와서 조작하자
04 토글구현
javascript 에서 .hasClass(“on”) 은 classList.contains(‘on’) 으로 작성한다