attr()
attr() 메서드는 요소의 속성 값을 가져오거나 변경합니다. 여러개의 속성 값을 적용 할 수 있으며, 콜백 함수도 설정이 가능합니다.
attr()
attr() 메서드는 요소의 속성 값을 가져오거나 변경합니다.
특징 | 설명 |
---|---|
버전(version) | 1.x |
결과값(return) | 속성 추가 |
사용성 | ★★★★☆ |
문법(Syntax)
"선택자".attr("속성 이름")
"선택자".attr("속성 이름", "속성 값")
"선택자".attr({"속성 이름":"속성 값", "속성 이름":"속성 값", .... });
"선택자".attr("속성 이름", "함수")
//속성 이름을 가져오는 경우
$("div").attr("title");
//속성 이름의 속성 값을 변경하는 경우
$("div").attr("title", "타이틀입니다.");
//여러 개의 속성 값을 변경하는 경우
$("div").attr({"title" : "타이틀입니다.", "class" : "클래스입니다."});
//콜백함수를 사용하는 경우
$("div").attr("title", function(){});
- 선택자(selector) : 클래스 이름을 추가할 선택자를 설정합니다.
- 속성 이름(attribute name) : 속성 이름을 설정합니다.
- 함수(function) : 속성 값을 가져온 후 실행되는 콜백 함수를 설정합니다.
정의(Definition)
- attr() 메서드는 요소의 속성 값을 가져오거나 변경합니다.
- attr() 메서드는 여러개의 속성 값을 적용할 수 있으며, 콜백함수 설정도 가능합니다.
속성 관련된 메서드(Attribute Related method)
- attr() 메서드는 요소의 속성(attribute) 값을 가져오거나 변경합니다.
- removeAttr() 메서드는 요소의 속성 값을 삭제합니다.
- prop() 메서드는 요소의 속성(property) 값을 가져오거나 변경합니다.
- removeProp() 메서드는 요소의 속성 값을 삭제합니다.
- val() 메서드는 속성(value) 값을 가져오거나 변경합니다.
비교(Compare)
- jQuery에서 속성 값을 가져오거나 변경할 때에는 attr()를 사용합니다.
- Javascript에서 속성 값을 가져올 때에는 getAttribute()를 사용합니다.
- Javascript에서 속성 값을 변경할 때에는 setAttribute()를 사용합니다.
예제1(Sample)
버튼을 클릭하면 이미지에 속성 값을 가져오는 예제입니다.
여기에 표시됩니다.
HTML
CSS
SCRIPT
<div class="jsample">
<img src="https://tistory4.daumcdn.net/tistory/2933724/skin/images/image03.jpg" alt="샘플이미지2" class="img">
<div class="text">여기에 표시됩니다.</div>
</div>
.jsample img {
border-radius: 3px;
max-width: 300px
}
.jsample .text {
margin-top: 10px;
}
$("#sample1 .btn1").click(function(e){
e.preventDefault();
const src = $("#sample1 .jsample .img").attr("src");
$("#sample1 .text").text("이 사진의 주소 값은 : " + src + "입니다.");
});
$("#sample1 .btn2").click(function(e){
e.preventDefault();
const alt = $("#sample1 .jsample .img").attr("alt");
$("#sample1 .text").text("이 사진의 alt 값은 : " + alt + "입니다.");
});
$("#sample1 .btn3").click(function(e){
e.preventDefault();
$("#sample1 .text").text("이 사진의 class 이름은 : " + $("#sample1 .jsample .img").attr("class") + "입니다." );
});
예제2(Sample)
버튼을 클릭하면 이미지에 속성 값을 변경하는 예제입니다.
여기에 표시됩니다.
버튼을 클릭하면 이미지의 속성값(image04.jpg)을 변경합니다.
버튼을 클릭하면 이미지의 속성값(image05.jpg)을 가져옵니다.
버튼을 클릭하면 이미지의 속성값(image06.jpg)을 가져옵니다.
HTML
CSS
SCRIPT
<div class="jsample">
<img src="https://tistory4.daumcdn.net/tistory/2933724/skin/images/image03.jpg" alt="샘플이미지2" class="img">
<div class="text">여기에 표시됩니다.</div>
</div>
.jsample img {
border-radius: 3px;
max-width: 300px
}
.jsample .text {
margin-top: 10px;
}
$("#sample2 .btn1").click(function(e){
e.preventDefault();
$("#sample2 .img").attr("src","https://tistory4.daumcdn.net/tistory/2933724/skin/images/image04.jpg");
$("#sample2 .text").text("src 값이 'https://tistory4.daumcdn.net/tistory/2933724/skin/images/image04.jpg'으로 변경되었습니다.");
});
$("#sample2 .btn2").click(function(e){
e.preventDefault();
$("#sample2 .img").attr("src","https://tistory4.daumcdn.net/tistory/2933724/skin/images/image05.jpg");
$("#sample2 .text").text("src 값이 'https://tistory4.daumcdn.net/tistory/2933724/skin/images/image05.jpg'으로 변경되었습니다.");
});
$("#sample2 .btn3").click(function(e){
e.preventDefault();
$("#sample2 .img").attr("src","https://tistory4.daumcdn.net/tistory/2933724/skin/images/image06.jpg");
$("#sample2 .text").text("src 값이 'https://tistory4.daumcdn.net/tistory/2933724/skin/images/image06.jpg'으로 변경되었습니다.");
});
호환성(Compatibility)
6 | 7 | 8 | 9 | 10 | 11 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
.attr() | jQeury 1.x 버전 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
jQeury 2.x 버전 | ○ | ○ | ○ | ○ | ○ | ❌ | ❌ | ❌ | ○ | ○ | ○ | ○ | ○ | ○ | |
jQeury 3.x 버전 | ○ | ○ | ○ | ○ | ○ | ❌ | ❌ | ❌ | ○ | ○ | ○ | ○ | ○ | ○ |