Element.setAttribute()
사용법
setAttribute()
함수는
DOM 요소에 속성 값을 설정하는 함수입니다.
속성이 이미 존재하는 경우 값이 업데이트됩니다. 그렇지 않으면 지정된 이름과 값으로 새 속성이 추가됩니다.
DOM 요소에서 속성 값을 가져오려면 getAttribute()
함수를 사용하세요.
DOM 요소에서 특정 속성을 제거하려면 removeAttribute()
함수를 사용하세요.
구문
매개변수
attributeName |
필수. 값을 설정하려는 속성의 이름(문자열 형식)입니다. |
---|---|
value |
필수. 속성의 설정하려는 값(문자열 형식)입니다. |
반환 값
없습니다. 즉, undefined
를 반환합니다.
예제
상황별 예제로 살펴보겠습니다.
지정된 속성이 이미 존재하는 경우
요소에서 지정된 속성이 이미 존재하는 경우 값이 업데이트됩니다.
코드 부연설명
querySelector()
함수는 지정한 CSS 선택자와 일치하는 첫 번째 요소 객체를 반환합니다.
지정된 속성이 없는 경우
요소에서 지정된 속성이 없는 경우에는 지정된 이름과 값으로 새 속성이 추가됩니다.
다음은 "test 입력하기" 버튼을 클릭하면,
<input>
요소의 value
속성이 없지만, value
속성과 값이 test
로 설정되는 예제입니다.
값을 필요로 하지 않는 부울 속성(boolean attribute)일 경우
HTML 속성 중에서 값을 필요로 하지 않는 속성을 부울 속성(boolean attribute)이라고 합니다.
예를 들자면 hidden
, open
, autoplay
등의 속성이 부울 속성에 해당합니다.
부울 속성은 값이 없지만, 값이 무엇이든지 간에 설정하면 해당 속성이 적용됩니다. 중요한 것은 속성이 존재하는 경우 실제 값과는 관계가 없이 적용된다는 것입니다.
setAttribute(attributeName, value)
함수의 두 매개변수는 필수이므로, 속성의 설정하려는 값을 지정해야 하는데, 이 경우 빈 문자열(""
)로 지정할 것을 권장합니다.
hidden
속성은 해당 요소가 시각적으로 보이지 않고 숨겨진 요소임을 나타내는 속성입니다.
주의할 점
대신 Style
객체를 사용하세요.
브라우저 호환성
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
setAttribute()
|
1 | 12 | 1 | 1 |
명세서
명세서 사양 | |
---|---|
setAttribute()
|
DOM Standard #ref-for-dom-element-setattribute① |