.removeProp(propertyName)
요약
선택된 엘리먼트 전체에 대해 하나의 속성(property)을 제거한다.
문법
.removeProp();
인자
인자명 | 데이터형 | 필수/옵션 | 설명 |
---|---|---|---|
propertyName | String | 옵션 | 제거할 클래스명 |
버전
1.0
반환값
jQuery wrapper object
설명
DOM 엘리먼트나 윈도우 객체에 내장되어 있는 프로퍼티의 경우, 프로퍼티를 제거하려고 시도하면 브라우저는 에러를 발생시킬 수 있다. jQuery는 우선 프로퍼티에 undefined 값을 넣고, 브라우저가 발생시키는 에러를 무시한다. 보통 객체에 대해 직접 만든 프로퍼티(custom properties)만 제거해야 할 필요가 있고, 내장된 프로퍼티(built-in, native properties)는 제거할 필요가 없다.
참고 : checked나 disabled, 혹은 selected 같은 native 프로퍼티를 제거하기 위해 이 메서드를 사용하면 안된다. 이 메서드로 제거하는 대신에 .prop() 메서드를 사용해서 프로퍼티의 값을 false로 설정하라.
추가메모: 인터넷 익스플로러 9 이전 버전에서는 문서에서 DOM 엘리먼트가 제거되기 전에 .removeProp()을 사용하여 프로퍼티를 제거하지 않으면, DOM 엘리먼트의 속성값을 수나, 문자열, 불린 값 등이 아닌 간단하지 않은 값으로 설정하려고 .prop() 메서드를 사용할 때 메모리 누수가 발생할 수 있다. 메모리 누수현상 없이 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>