jQuery / Method / .prop() - 속성값을 가져오거나 추가하는 메서드
.prop()
.prop()는 지정한 선택자를 가진 첫번째 요소의 속성값을 가져오거나 속성값을 추가한다. 주의할 점은 HTML 입장에서의 속성(attribute)이 아닌 JavaScript 입장에서의 속성(property)이라는 것이다.
문법 1 - 속성의 값 가져오기
- propertyName 속성의 값을 가져온다.
.prop( propertyName )
문법 2 - 속성 추가하기
- propertyName 속성에 value 값을 추가한다.
.prop( propertyName, value )
예제 1 - 속성의 값 가져오기
- a 요소의 href 속성값을 .attr()과 .prop()로 가져와서 출력한다.
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>jQuery</title> <script src="//code.jquery.com/jquery-3.3.1.min.js"></script> </head> <body> <p><a href="#">Link</a></p> <p> <script> document.write( $( 'a' ).attr( 'href' ) ); document.write( '<br>' ); document.write( $( 'a' ).prop( 'href' ) ); </script> </p> </body> </html>
예제 2 - 속성 추가하기
- 제일 위의 체크박스를 체크하거나 체크 해제를 하면, 아래의 모든 체크박스가 체크되거나 체크 해제된다.
<!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>jQuery</title> <script src="//code.jquery.com/jquery-3.3.1.min.js"></script> <script> $( document ).ready( function() { $( '.check-all' ).click( function() { $( '.ab' ).prop( 'checked', this.checked ); } ); } ); </script> </head> <body> <form> <p><input type="checkbox" name="all" class="check-all"> <label>Check ALL</label></p> <hr> <p><input type="checkbox" name="cb1" class="ab"> <label>Checkbox 1</label></p> <p><input type="checkbox" name="cb2" class="ab"> <label>Checkbox 2</label></p> </form> </body> </html>
참고
- HTML 요소(element)의 속성(attribute)의 값을 가져오거나 속성을 추가할 때는 .attr()을 사용한다.