prop()
prop() 메서드는 요소의 속성 값을 가져오거나 변경합니다.
prop()
prop() 메서드는 요소의 속성 값을 가져오거나 변경합니다.
특징 | 설명 |
---|---|
버전(version) | 1.x |
결과값(return) | 클래스 추가 |
사용성 | ★★★★☆ |
문법(Syntax)
"선택자".prop("속성 이름")
"선택자".prop("속성 이름", "속성 값")
"선택자".prop("속성 이름", "함수")
//속성 이름을 가져오는 경우
$("div").prop("checked");
//속성 이름의 속성 값을 변경하는 경우 경우
$("div").prop("checked", true);
//콜백함수를 사용하는 경우
$("div").prop("checked", function(){});
- 선택자(selector) : 클래스 이름을 추가할 선택자를 설정합니다.
- 속성 이름(properties name) : 속성 이름을 설정합니다.
- 함수(function) : 속성 값을 가져온 후 실행되는 함수를 설정합니다.
정의(Definition)
- prop() 메서드는 요소의 속성 값을 가져오거나 변경합니다.
Attribute과 Property의 차이점
- Attribute과 HTML Document 안에서 정적인 속성 그 자체를 의미하고, Property는 HTML DOM 안에서 동적인 속성을 의미합니다.
- attr() 메서드는 Attribute와 같고, prop() 메서드는 Property와 같다.
속성 관련된 메서드(Attribute Related method)
- attr() 메서드는 요소의 속성 값을 가져오거나 변경합니다.
- removeAttr() 메서드는 요소의 속성 값을 삭제합니다.
- prop() 메서드는 요소의 속성 값을 가져오거나 변경합니다.
- removeProp() 메서드는 요소의 속성 값을 삭제합니다.
- val() 메서드는 속성 값을 가져오거나 변경합니다.
비교(Compare)
- jQuery에서 속성 값을 가져오거나 변경할 때에는 attr()를 사용합니다.
- Javascript에서 속성 값을 가져올 때에는 getAttribute()를 사용합니다.
- Javascript에서 속성 값을 변경할 때에는 setAttribute()를 사용합니다.
예제1(Sample)
라디오 버튼을 클릭하면 input의 checked 속성을 보여주는 예제입니다.
여기에 표시됩니다.
여기에 표시됩니다.
여기에 표시됩니다.
여기에 표시됩니다.
라디오 버튼을 누르면 현재 속성 상태가 표시됩니다.
HTML
CSS
SCRIPT
<div class="jsample">
<form>
<label>
<input class="check1" type="radio" name="radio" checked/>
<span>HTML</span>
</label>
<label>
<input class="check2" type="radio" name="radio"/>
<span>CSS</span>
</label>
<label>
<input class="check3" type="radio" name="radio"/>
<span>JAVASCRIPT</span>
</label>
<label>
<input class="check4" type="radio" name="radio"/>
<span>JQUERY</span>
</label>
</form>
<br>
<div class="text1">여기에 표시됩니다.</div>
<div class="text2">여기에 표시됩니다.</div>
<div class="text3">여기에 표시됩니다.</div>
<div class="text4">여기에 표시됩니다.</div>
</div>
.jsample img {
border-radius: 3px;
max-width: 300px
}
.jsample .text {
margin-top: 10px;
}
.jsample label {
display: block;
}
$(".jsample input").change(function(){
const ch1 = $(".jsample .check1").prop("checked");
$("#sample1 .text1").text("checked 속성 값은 : " + ch1 + "입니다.");
const ch2 = $(".jsample .check2").prop("checked");
$("#sample1 .text2").text("checked 속성 값은 : " + ch2 + "입니다.");
const ch3 = $(".jsample .check3").prop("checked");
$("#sample1 .text3").text("checked 속성 값은 : " + ch3 + "입니다.");
const ch4 = $(".jsample .check4").prop("checked");
$("#sample1 .text4").text("checked 속성 값은 : " + ch4 + "입니다.");
})
호환성(Compatibility)
6 | 7 | 8 | 9 | 10 | 11 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
.prop() | jQeury 1.x 버전 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
jQeury 2.x 버전 | ○ | ○ | ○ | ○ | ○ | ❌ | ❌ | ❌ | ○ | ○ | ○ | ○ | ○ | ○ | |
jQeury 3.x 버전 | ○ | ○ | ○ | ○ | ○ | ❌ | ❌ | ❌ | ○ | ○ | ○ | ○ | ○ | ○ |