728x90
반응형
728x90
목 차
반응형
1. getAttribute 메서드와 setAttribute 메서드란?
JavaScript에서 getAttribute와 setAttribute 메서드는 HTML 요소의 속성(attribute)을 동적으로 읽거나 설정할 때 사용됩니다. 두 메서드는 HTML 문서의 DOM 요소와 상호작용하여 속성을 관리합니다.
2. getAttribute
- getAttribute는 HTML 요소의 특정 속성 값을 가져옵니다.
2-1. 문법
element.getAttribute(attributeName);
- attributeName : 가져올 속성의 이름(문자열, 대소문자를 구분하지 않음).
- 반환값 : 속성 값(문자열). 해당 속성이 없으면 null을 반환합니다.
2-2. 특징
- HTML의 속성을 그대로 읽음 : DOM 속성과 동기화되지 않을 수 있습니다.
- 대소문자를 구분하지 않음 : 속성 이름은 대소문자를 구분하지 않습니다.
- 사용 가능한 모든 속성에 접근 가능 : 표준 속성뿐만 아니라 사용자 정의 속성(data- 속성 등)도 읽을 수 있습니다.
2-3. 예제
- HTML 요소의 속성을 읽을 수 있습니다. (id, class, data-role, style 속성을 가져오는 예제입니다.)
<div id="myDiv" class="box" data-role="admin"></div>
<script>
const div = document.getElementById('myDiv');
// HTML 속성 읽기
console.log(div.getAttribute('id')); // "myDiv"
console.log(div.getAttribute('class')); // "box"
console.log(div.getAttribute('data-role')); // "admin"
// 없는 속성 읽기
console.log(div.getAttribute('style')); // null
</script>
3. setAttribute
- setAttribute는 HTML 요소의 특정 속성 값을 설정하거나 새 속성을 추가합니다.
3-1. 문법
element.setAttribute(attributeName, value);
- attributeName : 설정할 속성의 이름(문자열, 대소문자를 구분하지 않음).
- value : 설정할 속성 값(문자열).
3-2. 특징
- 속성이 없으면 새로 추가 : 해당 속성이 없으면 새로운 속성을 생성하고 값을 설정합니다.
- 값을 문자열로 변환 : value가 숫자나 다른 데이터 타입이어도 자동으로 문자열로 변환됩니다.
3-3. 예제
- HTML 요소에 속성 값을 설정하거나 추가할 수 있습니다. (class, data-role 속성을 설정하고 가져오는 예제입니다.)
<div id="myDiv" class="box"></div>
<script>
const div = document.getElementById('myDiv');
// 속성 추가 및 수정
div.setAttribute('class', 'new-box'); // 기존 'class' 속성 값 변경
div.setAttribute('data-role', 'user'); // 'data-role' 속성 추가
console.log(div.getAttribute('class')); // "new-box"
console.log(div.getAttribute('data-role')); // "user"
</script>
728x90
반응형
'프로그래밍 > [javascript] 자바스크립트' 카테고리의 다른 글
[JavaScript] select()와 setSelectionRange() 메서드 (0) | 2024.11.25 |
---|---|
[JavaScript] 자바스크립트 removeAttribute와 hasAttribute 설명 (0) | 2024.11.23 |
[JavaScript] 자바스크립트 마우스 클릭 이벤트 (0) | 2024.11.21 |
[JavaScript] DOM 요소 선택 메서드 (0) | 2024.11.20 |
[JavaScript] 자바스크립트 이스케이프 문자 정리 (0) | 2024.11.18 |