.removeProp()

.removeProp( propertyName )返回类型:jQuery

描述:针对匹配的元素集合删除一个属性。

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

对于一些DOM元素或window对象的内建属性,如果试图删除这些属性,浏览器可能生成一个错误。jQuery首先假定属性的值是undefined并忽略浏览器生成的任何错误。一般情况下,它只需要删除已经设置在对象上的自定义属性,而不是内建的属性。

注意:不要使用此方法来删除原生属性,譬如checked、disabled或selected。这将过完全删除此属性,一旦删除,就不能再次加到元素上了。请用.prop()把这些属性设置为false来代替。

补充说明:

  • 在Internet Explorer 9以前的版本中,一个DOM元素,如果在把它从文档中删除之前,还没有删除它的某个属性(使用.removeProp()),如果使用.prop()把该属性设置为简单原始值(数字、字符或布尔值)之外的其他任何东西,可能导致内存泄漏。若要安全地在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
25
26
27
28
29
30
31
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>removeProp demo</title>
<style>
img {
padding: 10px;
}
div {
color: red;
font-size: 24px;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p></p>
<script>
para = $( "p" );
para
.prop( "luggageCode", 1234 )
.append( "The secret luggage code is: ", String( para.prop( "luggageCode" ) ), ". " )
.removeProp( "luggageCode" )
.append( "Now the secret luggage code is: ", String( para.prop( "luggageCode" ) ), ". " );
</script>
</body>
</html>

演示: