html에 태그 안에 의미있는 속성을 추가하여
자바스크립트로 접근가능한 재미있는 기능, data 속성을 소개합니다.
data- 속성
- 의미론적 HTML 요소에 추가 정보를 저장할 수 있도록 해줍니다.
- 사용법은 태그 안에 data-로 시작하는 속성은 무엇이든 사용할 수 있습니다.
- 자바스크립트와 css로 특정 html 요소에 접근이 가능합니다.
<button class="btn" data-key="color" data-value="blue">blue</button>
<button class="btn" data-key="color" data-value="pink">pink</button>
자바스크립트에서 data 속성 접근
- dataset을 통해 접근합니다.
- 이벤트 위임을 통해 부모에 이벤트를 등록하여, 여러 하위 요소 중 event.target으로 action을 일으킨 특정 요소에만 접근할 수 있습니다.
- 인터넷 익스플로어10 이하는 dataset을 지원하지 않아 getAttribute()를 대신 사용합니다.
let btn = document.querySelectorAll('.btn');
btn.forEach(el => el.addEventListener('click', e => console.log(e.target.dataset.value)))
//결과: blue 또는 pink
document.querySelectorAll("[data-value]").forEach(el => el.onclick = xxx)
css에서 data 속성 접근
btn[data-value='blue'] {
width: 400px;
}
btn[data-value='pink'] {
width: 600px;
}
반응형
'개발 > Html, Css' 카테고리의 다른 글
[css] 모달창 오픈시 css로 스크롤 방지 (0) | 2021.09.06 |
---|---|
[css] 이미지 애니메이션 효과 (ft. 무한 회전, 사라지기, 출현하기) (2) | 2021.09.04 |
[css] tailwind dialog 창 사용 예제 (0) | 2021.07.13 |
[html] html 특수기호 코드 찾기 (0) | 2021.06.11 |
[css] 카드 뒤집기, 이미지 앞뒤 회전 3d 애니메이션 효과 (2) | 2021.06.11 |
댓글