FrontEnd/HTML

HTML 요소의 data- 로 시작하는 속성, JQUERY 로 부를 때

H_Develop 2022. 11. 25. 12:37
<input type="text" data-value='001' data-code='c03' id='userName'>

input 태그에는 data-value 라는 데이터 속성을 임의로 만들 수 있다.

속성 명은 data-value 이지만, HTML 표준속성인 value 속성과는 상관이 없다.

임의로 만든 속성이기 때문이다.

 

장점

DOM 객체를 통해 데이터 속성 조작이 가능하다.

 

데이터 속성은 DOM 객체의 dataset 속성을 참조하여 얻을 수 있다.

var input = document.querySelector('#userName');
console.log(input.dataset);

위 코드와 같이 userName input을 셀럭터로 잡고 해당 DOM객체의 dataset을 출력해보면

DOMStringMap으로 데이터 속성들을 가지고 있음을 확인할 수 있다.

그러나 속성 key 값을 보면 'data-'가 빠진 채로 존재한다.

 

console.log(input.dataset.code);                                                        
console.log(input.dataset['code']);

이러한 방법으로 특정 속성값을 추출할 수도 있다.

 

데이터 속성 값 바꾸기

var input = document.querySelector('#userName');
input.dataset.code = 'aaa';

 

 

JQUERY 로 부를 때

$(this).data('val')

$('#ocBa0030 input[name="useYn"]').val($(this).data('val'));

 

이런 식으로 부를 수 있다.