返回值:jQueryremoveProp(propertyName)
移除匹配元素上指定的 property 属性。
-
1.6 新增removeProp(propertyName)
propertyName (String) 将要被移除的 property 属性名。
.removeProp()
方法会移除使用
.prop()
方法设置的属性。
若尝试移除 DOM 元素或 window
对象上一些内建的 property 属性,浏览器可能会产生错误。如果真的那么做了,那么 jQuery 首先会将 property 属性设置成 undefined
,然后忽略任何浏览器产生的错误。一般来说,只需要移除自定义的 property 属性,而不是移除内建的(原生的) property 属性。
注意: 不要使用该方法来移除原生的 property 属性,例如:checked, disabled, 或 selected 属性。因为这样会完全移除该 property 属性,它们一旦被删除,就不能再被添加。请使用
.prop()
来将这些 property 属性的值设置成 false
。
补充说明:
- 在 IE 9 之前,使用
.prop()
对一个 DOM 元素的属性进行赋值时,若所赋值的类型不是基本类型(number, string, 或 boolean),而且也没有使用.removeProp()
方法在 DOM 元素从文档中被移除之前。为了安全的在 DOM 对象上进行赋值而不用担心内存泄露问题,请使用.data()
方法 。
示例:
在一个段落上设置一个数值 property 属性,然后再将其移除。
<!DOCTYPE html>
<html>
<head>
<style>
img { padding:10px; }
div { color:red; font-size:24px; }
</style>
<script src="jquery.min.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>