자바스크립트에서 HTML 요소를 동적으로 조작할 때, 어트리뷰트와 프로퍼티의 개념이 헷갈려 정확하게 알아보고자 한다.
어트리뷰트란 HTML 요소의 부가적인 정보나 설정을 나타내는 속성을 말한다.
<div class="my-class"></div>
프로퍼티란 HTML DOM 트리에서 어트리뷰트를 나타내는 것이다.
어트리뷰트는 HTML 텍스트 파일 안에 있고, 프로퍼티는 HTML DOM 트리 안에 있다.
이는 어트리뷰트는 변하지 않고 항상 초기값(기본값)을 가지고 있고, 프로퍼티는 바뀔 수 있다는 것을 의미한다.
예를 들어, 사용자의 이름을 입력할 수 있는 input 창을 만들었다고 가정하자.
<input value="default" />
만약에, input 창에 있는 값을 'Joe'로 바꾼다면
어트리뷰트 : HTML 요소의 렌더링이나 동작을 정의하거나 부가적인 정보를 제공하는데 사용한다.
프로퍼티 : 자바스크립트 코드 내에서 HTML 요소와 관련된 정보를 다루고 조작하기 위해 사용한다.
1번과 비슷한 맥락으로,
어트리뷰트 : 정적으로 HTML 태그에 설정되며, HTML 문서가 로드되는 시점에 결정된다.
프로퍼티 : 자바스크립트 코드에서 동적으로 변경할 수 있다.
📝 참고
🔗 https://jquery-howto.blogspot.com/2011/06/html-difference-between-attribute-and.html
공감하며 읽었습니다. 좋은 글 감사드립니다.