728x90
728x90

* 버전1.6의 업데이트로 인하여 .attr()과 .prop()으로 나누어짐

 => HTML에 쓴 속성의 값을 취급하고 싶을경우는 .attr()을 이외의 JavaScript의것을 할경우는 .prop()

 

 

차이를 알기 쉬운 예시 

(1)

<html>
<body>
  <a id="to_comments" href="#comments">내용</a>
</body>
<script>
  var $link = $('#to_comments');
  alert($link.attr('href'));  // href 속성값 
  alert($link.prop('href'));  // href 프로퍼티값
</script>
</html>
// 결과
.attr() → #to_comment
.prop() → http://example.com/path/to/page#to_comment

 

(2)

<html>
<body>
	<h2>체크박스 예제</h2>
 	<checkbox id="private" type="checkbox" checked />
</body>
<script>
  var $checkbox = $('#private');
  alert($checkbox.attr('checked'));  // checked 속성 값 
  alert($checkbox.prop('checked'));  // checked 프로퍼티 값
</script>
</html>
// 결과
.attr() → "checked"
.prop() → true / false

 

 

checked="checked"라는 attribute 추가할 때

.attr('checked', 'checked'); 또는 .prop('checked', true); 

checked="checked"라는 attribute 제거할 

.removeAttr('checked'); 또는 .prop('checked', false);

 

 

selected="selected"라는 attribute 추가할 때

.attr('selected', 'selected'); 또는 .prop('selected', true);

checked="checked"라는 attribute 제거할 

.removeAttr('selected'); 또는 .prop('selected', false); 

 

 

 

 

자바스크립트 .attr()과 .prop() 차이 정리

 

  • .attr() : HTML의 속성을 취급
  • .prop() : JavaScript프로퍼티를 취급 

 

이 두 개의 메소드는 취급하는 정보가 다릅니다. 
.attr()는HTML의 속성(attribute)을, .prop()는 JavaScript의 프로파티(property)를 취급하는 메소드입니다.

 

 

:: 출처 ::

http://javascriptandjquerydev.blogspot.com/2012/07/attr-prop.html
http://ginpen.com/2011/10/12/jquery-attr-prop/
728x90
728x90
블로그 이미지

coding-restaurant

코딩 맛집에 방문해주셔서 감사합니다.

,

v