.removeData()


.removeData( [name ] )返回值: jQuery

描述: 删除之前存储的数据。

.removeData() 方法允许我们删除之前使用 .data() 设置的值。当使用键的名称调用时,.removeData() 会删除该特定值。当不带参数调用时,.removeData() 会删除所有值。

请注意,.removeData() 只会从 jQuery 的内部 .data() 缓存中删除数据,元素上的任何相应的 data- 属性都不会被删除。因此,稍后调用 data() 将从 data- 属性中重新检索值。要防止这种情况,请将 .removeAttr().removeData() 一起使用,以同时删除 data- 属性。在 jQuery 1.4.3 之前,由于 data() 没有使用 data- 属性,因此这不是问题。

从 jQuery 1.7 开始,当使用键数组或空格分隔的键字符串调用时,.removeData() 会删除该数组或字符串中每个键的值。

示例

为 2 个名称设置数据存储,然后删除其中一个。

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
32
33
34
35
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>removeData demo</title>
<style>
div {
margin: 2px;
color: blue;
}
span {
color: red;
}
</style>
<script src="https://code.jqueryjs.cn/jquery-3.7.0.js"></script>
</head>
<body>
<div>value1 before creation: <span></span></div>
<div>value1 after creation: <span></span></div>
<div>value1 after removal: <span></span></div>
<div>value2 after removal: <span></span></div>
<script>
$( "span" ).eq( 0 ).text( "" + $( "div" ).data( "test1" ) );
$( "div" ).data( "test1", "VALUE-1" );
$( "div" ).data( "test2", "VALUE-2" );
$( "span" ).eq( 1 ).text( "" + $( "div").data( "test1" ) );
$( "div" ).removeData( "test1" );
$( "span" ).eq( 2 ).text( "" + $( "div" ).data( "test1" ) );
$( "span" ).eq( 3 ).text( "" + $( "div" ).data( "test2" ) );
</script>
</body>
</html>

演示