티스토리 뷰
Typescript 에서 DOM 조작하기 , HTML 조작하기.
안녕하세요. 오늘은 타입스크립트에서 DOM을 조작하기 위한 방법에 대해 포스팅 하려고 합니다.
간단한 예시를 통해 DOM조작 방법을 확인해 보겠습니다.
html 예시 : 아래와 같은 html이 있을 때, 타입스크립트로 돔을 조작해보겠습니다.
<h4 id = "title">hello, gwang ! </h4>
<a href = "kakao.com" class = "link">link</a>
<button id = "button">button</button>
<img id = "image" src = "big.jpg">
<script src = "index.js"></script>
타입스크립트에서 DOM 조작하기 : type narrowing을 이용한 DOM조작.
let title = document.querySelector('#title');
// innerHTML속성을 제어하기 위한 2가지방법
// 아래 세가지 방법 모두 가능하지만 'instanceof'를 사용하는게 가장 일반적이라고 합니다.
if(title !== null) 제목.innerHTML = 'bye'
if(title instanceof Element){
title.innerHTML = 'bye'
}
if(title?.innerHTML){
title.innerHTML = 'bye'
}
// a태그의 href속성을 제어하기 위한 방법
// a태그의 href를 조작하기 위해서는 'HTMLAnchorElement'라는 조금 특이한 타입을 이용합니다.
// HTML속성에 맞는 각각의 타입이 정말 많은데요.. 관련 링크는 아래 따로 첨부하겠습니다.
let link = document.querySelector('.link');
if(link instanceof HTMLAnchorElement){
link.href = 'https://cafe.naver.com/gathertown'
}
// img태그의 src속성을 제어하기 위한 방법
// img태그의 href를 조작하기 위해서는 'HTMLImageElement'라는 조금 특이한 타입을 이용합니다.
let image = document.querySelector('#image');
if(image instanceof HTMLImageElement){
image.src = 'small.jpg';
}
Q. 각 속성에 대한 HTML타입은 어떻게 알 수 있나요 !?
> vsc를 사용할경우 HTML까지만 입력하시면 자동완성으로, HTML관련 타입들이 모두 나옵니다.
이런식으로 말이죠!
네이밍만보고, 이거구나 싶은거를 찾아서 시도해봐도 좋지만.. 아무래도 쉽진 않겠죠.. !?
그래서 HTML타입에 대한 자세한 설명들이 있는 링크를 같이 첨부합니다!
자주 쓰는 타입에 대해서는 어느정도 익혀두시면 좋을 것 같습니다.
@참고링크
https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement#example
'개발일기 > TS' 카테고리의 다른 글
[TS] StyledComponents 에서 props타입 지정하기. (0) | 2022.03.07 |
---|---|
[TS] 리액트 타입스크립트에서 children에 대한 타입정의 예시 (0) | 2022.03.06 |
[TS] 배열의 타입을 체크하는 방법 Array.isArray() (0) | 2022.03.04 |
[TS] Typescript 자주 사용되는 utility types정리 (0) | 2022.02.21 |
[TS] Typescript Generic 예시코드. (0) | 2022.02.21 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- React
- TS
- 전기기사 필기
- 모두CBT
- 전기기사실기단답
- 전기산업기사
- 전기공사기사
- nextjs
- TypeScript
- 실기CBT
- 산업안전기사
- 게더타운맵
- 전기기기
- zep
- 전기기사
- 전자기학
- KEC반영
- 게더타운
- shortid
- 산업안전기사 실기
- 개더타운
- gathertown
- 전기기사실기CBT
- cbt
- dummydata
- fakerjs
- 산안기 합격률
- JavaScript
- 전력공학
- 전기기사필기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함