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