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="./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>

上篇: removeAttr()

下篇: val()