
<div value="2" data-value=3>
Custom Div
</div>
data-* 또는 aria-의 format을 따르나, 기존에 존재하는 내장 attribute 도 사용할 수 있다.<input> 등의 태그에만 존재하는 value 라는 attribute를<div>에도 적용할 수 있다는 말이다.element.hasAttribute('foo'); // attribute를 가지고 있는지 확인하는 method
element.getAttribute('foo'); // 해당 attribute를 가져온다. (없으면 null값 반환)
element.setAttribute('foo', value); // 'foo'라는 attribute에 value를 등록
element.removeAttribute('foo'); // 해당 attribute를 삭제
<div> 태그에 value attribute를 설정하는 것은 불가능강제로 설정하면 아래와 같은 오류 메세지가 뜬다.
Type '{ value: string; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>'.
Property 'value' does not exist on type 'DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>'.
data-* 이나 aria-*의 format을 따르기data-* 이나 aria-* 의 name format을 이용해서 custom value를 작성해주면 된다.<span data-value={`${MineSweeperData[ypos][xpos]}`} />
DOM(Document Object Model)은 웹 문서를 객체 형태로 표현한 구조라서, 각 요소(Element)는 객체처럼 속성(attribute)과 메서드를 가질 수 있습니다. 기본적으로 HTML 요소에는 이미 예약된 속성들이 존재하지만, 개발자가 원하는 커스텀 속성(custom attribute) 을 추가하는 것도 가능합니다. https://fnaf-online.io