.removeProp()
.removeProp( propertyName ) Returns: jQuery
Description: Remove a property for the set of matched elements.
-
version added: 1.6.removeProp( propertyName )
propertyNameThe name of the property to set.
The .removeProp()
method removes properties set by the .prop()
method.
With some built-in properties of a DOM element or window
object, browsers may generate an error if an attempt is made to remove the property. jQuery first assigns the value undefined
to the property and ignores any error the browser generates. In general, it is only necessary to remove custom properties that have been set on an object, and not built-in (native) properties.
Note: Do not use this method to remove native properties such as checked, disabled, or selected. This will remove the property completely and, once removed, cannot be added again to element. Use .prop()
to set these properties to false
instead.
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. To safely set values on DOM objects without memory leaks, use.data()
.
Example:
Set a numeric property on a paragraph and then remove it.
<!DOCTYPE html>
<html>
<head>
<style>
img { padding:10px; }
div { color:red; font-size:24px; }
</style>
<script src="http://code.jquery.com/jquery-1.7rc2.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>