일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 리뷰
- 독서
- 선형회귀
- python
- bootcamp
- 파이썬
- 노마드코더
- 빅데이터
- 주간보고
- 2021
- 열심히
- 재미져
- selenium
- 성실히
- 자료구조
- 부트캠프
- MYSQL
- Ai
- SQL
- yolo
- 코딩테스트
- leetcode
- 꾸준히
- 코드스테이츠
- 매일매일
- pandas
- JavaScript
- Codestates
- 기초통계
- 딥러닝
- Today
- Total
코딩일기
JavaScript Data-action(자바스크립트 데이터액션) 본문
오늘은 Data-action에 대해 알아봅시다
어느덧 HTML, CSS, vanilla JavaScript를 거의 다 배웠습니다!
아직 미미한 부분은 있지만, 그런 부분은 과제나 챌린지를 통해 채워나갈 예정입니다.
그런데 한가지 문제점이 생겼습니다.
CSS, JavaScript class tag가 너무 햇갈린다는 점..
또한, 어떤 class tag가 CSS, JavaScript 둘 다에 사용되었는지?
아니면 한 쪽에만 사용되었는지? 지워도 되는지?
코드가 150줄이 넘어가면서 햇갈리기 시작합니다..
# 이 문제를 해결하기 위한 방법
이 문제를 해결하기 위해 몇 년 전 JavaScript에서만 사용되는 .js- 태그를 사용했다고 합니다.
<div class="explain js-explain">
Some content that can be collapsed or expanded.
</div>
위 예시처럼 explain은 CSS로 js-explain는 JavaScript로 사용하면 됩니다.
그러나, 먼가... 이상하고 프로같은 느낌이 안나죠?
프로는 아니여도 우리는 프로들이 사용하는 방법을 지향해야한다고 생각합니다.
# 데이터 속성 사용( 위 문제를 해결할 수 있는 방법 )
JavaScript를 만든 분들께서 이러한 불편함을 해결하기 위해
data-* (읽기)와 dataset이라는 걸 만들어 두셨다. 우리는 찾아서 이용만 하면 된다.
"""
HTMLElement.dataset 읽기 전용 속성은 요소의 data-*에 대한 읽기와 쓰기 접근 방법을 HTML과 DOM 양측에 제공합니다. 반환하는 값은 DOMStringMap으로, 각 데이터 특성마다 하나의 항목을 가집니다. dataset 속성 자체는 읽기 전용이라는 점에 주의하세요. 모든 쓰기 작업은 dataset 안의, 데이터 특성을 나타내는 각각의 속성에 수행해야 합니다. 또한 HTML의 data-이름과, 이에 대응하는 DOM dataset['이름']의 이름은 서로 일치하지 않으나, 다음 규칙에 따라 유사함을 기억하세요.
- HTML의 사용자 지정 특성 이름은 data-로 시작합니다. 또한 문자, 숫자, 대시(-), 점(.), 콜론(:), 언더스코어(_)만 사용할 수 있고, ASCII 대문자(A-Z)는 사용할 수 없습니다.
- JavaScript의 사용자 지정 특성 이름은 HTML 이름을 카멜 표기법으로 변환한 형태로, 대시, 점 등을 모두 제거합니다.
mdn의 공식문서를 가져와서 설명 드렸는데 무슨 말인지 모르시겠죠? 그림으로 보면 훨씬 이해가 쉽습니다.
<HTML>
이 접근 방식은 HTML, CSS 및 JavaScript를 별도로 유지하고 무슨 일이 일어나고 있는지 더 명확하게 나타내줍니다.
또한 누군가가 클래스 이름이 JavaScript에서 사용되는 것을 인식하지 못하는 경우 우발적 인 충돌을 방지하는 데 도움이됩니다.
<출처>
-. developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes
'Code > 기타' 카테고리의 다른 글
Selenium Background Mode(Headless) (0) | 2020.12.17 |
---|---|
Selenium path 환경변수 설정방법 (0) | 2020.12.15 |
Python Study1 (0) | 2020.12.04 |
JavaScript를 시작하며 (0) | 2020.11.22 |
코딩을 시작하며 (0) | 2020.11.09 |