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>