.removeProp()


.removeProp( propertyName )返回: jQuery

描述: 为集合中匹配的元素删除一个属性(property)。

  • 添加的版本: 1.6.removeProp( propertyName )

    • propertyName
      类型: String
      要移除属性的名称.

.removeProp()方法用来删除由.prop()方法设置的属性集。

若尝试移除 DOM 元素或 window 对象上一些内建的 属性( property ) ,浏览器可能会产生错误。如果真的那么做了,那么 jQuery 首先会将 属性( property ) 设置成 undefined ,然后忽略任何浏览器产生的错误。一般来说,只需要移除自定义的 属性( property ) ,而不是移除内建的(原生的)属性( property )。

注意: 不要使用此方法来删除原生的属性( property ),比如checked, disabled, 或者 selected。这将完全移除该属性,一旦移除,不能再次被添加到元素上。使用.prop()来设置这些属性设置为false代替。

Additional Notes(其他注意事项):

  • 在Internet Explorer之前的版本9,使用.prop()设置DOM元素的属性进行赋值时,若所赋值的类型不是基本类型(number, string, 或 boolean),而且也没有使用 .removeProp() 方法在 DOM 元素从文档中被移除之前。为了安全的在 DOM 对象上进行赋值而不用担心内存泄露问题,请使用 .data() 方法 。

例子:

设置一个段落数字属性,然后将其删除。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html>
<head>
<style>
img { padding:10px; }
div { color:red; font-size:24px; }
</style>
<script src="http://cdn.bootcss.com/jquery/1.11.2/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>

Demo: