yooniiverse
개발 블로그
yooniiverse
전체 방문자
오늘
어제
  • 분류 전체보기
    • 운영체제
    • 네트워크
    • ~2023.02
      • 외부교육
      • 대외활동
      • 스터디
      • 동아리
      • TIL
      • IT지식
      • 기타
      • 트러블 슈팅
      • 프로그래밍
      • Python
      • Java
      • JS
      • DB(SQL)
      • JSP
      • Spring
      • 기술면접
      • 자바
      • 코딩테스트
      • 자료구조
      • 알고리즘
      • 백준 문제풀이
      • 인공지능
      • 머신러닝
      • 프로젝트
      • 안드로이드 앱개발
      • 웹개발
      • 웹 서비스
      • 웹퍼블리싱
      • Node.js 백엔드 개발
      • CS
      • 1일 1CS지식
      • 운영체제
      • 네트워크
      • 데이터베이스
      • 정보처리기사
      • 도서 리뷰
      • 개발 관련 도서
      • 기타 도서

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
yooniiverse
~2023.02/JS

스타일 다루기

~2023.02/JS

스타일 다루기

2022. 6. 1. 16:39

방법1. style 프로퍼티 활용


// 스타일 다루기
const today = documnet.querySelector('#today');
const tomorrow = document.querySelector('#tomorrow');

// style 프로퍼티
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';
  1. text-decoration --> textDecoration
    • 여러 단어를 이어서 만든 속성은 카멜 표기법을 사용해야 한다.
  2. 실행 결과, 태그의 style 속성에 작성한 스타일이 추가된 것을 확인할 수 있다.
    • 태그에 직접적으로 값이 적용되어, 스타일 우선순위가 높아지거나 같은 스타일을 다른 여러 태그에 적용해야 될 때 비슷한 코드를 불필요하게 많이 작성해야 하는 문제가 발생한다.
    • 따라서 태그의 클래스를 변경하는 것이 조금 더 권장되는 방식이다.

 

 

방법2. className 프로퍼티 활용


// 스타일 다루기
const today = documnet.querySelector('#today');
const tomorrow = document.querySelector('#tomorrow');

// elem.className
today.children[1].className = 'done';
// style.css 파일

.done {
  opacity: 0.5;
  text-decoration: line-through;
}
  1. done 클래스에 미리 작성해둔 스타일이 입혀진다.
    • 그러나 className 프로퍼티로 값을 변경하면 클래스 속성값 전체가 바뀌게 된다.
    • 즉 원래 있던 클래스가 item 이었다면, 적용 후에는 done으로 변경된 것을 확인할 수 있다.
    • 상황에 따라 원래 있던 item 클래스를 그대로 두고 done 클래스를 추가하고 싶을 수도 있을 것이다.

 

 

방법3. classList 프로퍼티 활용


// 스타일 다루기
const today = document.querySelector('#today');
const tomorrow = document.querySelector('#tomorrow');

// elem.classList: add, remove, toggle
const item = tomorrow.children[1]; // 예매
item.classList.add('done');
item.classList.remove('done');
item.classList.toggle('done');
  1. classList는 클래스 속성값을 유사 배열로 다루는 프로퍼티이다.
    • classList 활용시 클래스 속성을 하나씩 다룰 수 있고, 클래스를 좀 더 편하게 다룰 수 있는 add, remove, toggle 메소드도 활용할 수 있다.
    • add: 클래스 추가, remove: 클래스 삭제, toggle: 있으면 제거하고 없으면 추가

'~2023.02 > JS' 카테고리의 다른 글

값으로서의 함수  (0) 2022.06.01
AND와 OR 연산 방식  (0) 2022.06.01
HTML 속성 다루기 예제  (0) 2022.06.01
자바스크립트 요소 노드 추가하기  (0) 2022.06.01
id, class, css 선택자로 태그 선택하기  (0) 2022.06.01
  • 방법1. style 프로퍼티 활용
  • 방법2. className 프로퍼티 활용
  • 방법3. classList 프로퍼티 활용
'~2023.02/JS' 카테고리의 다른 글
  • 값으로서의 함수
  • AND와 OR 연산 방식
  • HTML 속성 다루기 예제
  • 자바스크립트 요소 노드 추가하기
yooniiverse
yooniiverse

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.