본문 바로가기
프로그래밍/jQuery

jQuery API 정복 - property 제거, removeProp()

by zoo10 2011. 11. 22.

.removeProp()

원문 링크 http://api.jquery.com/removeProp/

.removeProp( propertyName )Returns : jQuery

개요 : 일치하는 요소의 집합에서 속성을 제거

  • .removeProp( propertyName )
  • propertyName 속성명

.removeProp() 함수는 .prop()함수에서 추가한 속성을 제거합니다.

속성을 제거하려고 하면 DOM 요소 또는 window객체의 일부 속성에서 오류를 발생하기도 합니다. jQuery 에서는 먼처 을 할당하여 브라우저의 오류를 무시할 수 있도록 했습니다. 일반적으로, 이것은 내장(기본) 속성이 아닌 사용자가 지정한 속성을 제거하는데 필요합니다.

Note: 이 함수는 checked, disabled, or selected와 같은 기본 속성을 제거하는데 사용되지 않습니다. 이 함수는 속성을 한번에 완전하게 제거할수 있을 뿐더러 요소에 다시 추가할 수도 없습니다. 이런 속성들을 세팅하기 위해서는 .prop() 함수에 false 인자를 사용해야 합니다.

Additional Notes:

In Internet Explorer prior to version 9, using .prop() to set a DOM element property to anything other than a simple primitive value (number, string, or boolean) can cause memory leaks if the property is not removed (using .removeProp()) before the DOM element is removed from the document.(콩글리시 => Internet Explorer 9 이전에는, number, string, boolean과 같은 원시(primitive) 값이 아닌 DOM 요소의 속성을 세팅하기 위해 .prop() 함수를 사용하면 메모리 누수가 발생할수도 있습니다. DOM 요소가 문서상에서 제거되기 전에 .removeProp()을 사용했는데 속성이 제거되지 않았다면 메모리 누수가 발생합니다.) 메모리 누수 없이 DOM 객체에 값을 넣으려면 .data()함수를 사용하면 됩니다.

예 제  
숫자 속성을 세팅하고 삭제해봅니다.

<!DOCTYPE html>
<html>
<head>
  <style>
  img { padding:10px; }
  div { color:red; font-size:24px; }
</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  
  <p></p>


<script>
var $para = $("p");
$para.prop("luggageCode", 1234);
$para.append("The secret luggage code is: ", String($para.prop("luggageCode")), ". ");
$para.removeProp("luggageCode");
$para.append("Now the secret luggage code is: ", String($para.prop("luggageCode")), ". ");

</script>

</body>
</html>

미리보기

속성을 추가하면 1234가 나오고, 제거하면 undefined가 나오네요.

 

윽, 중간에 어려운 문장이 있어서 시간이 걸렸습니다. 끝내 해석은 못했지만요. ㅠㅠ

그럼 즐프하세요.

※ 본 예제는 http://www.jquery.com 에 있는 내용임을 밝힙니다.