# .removeData()

所属分类：数据操作 | 杂项 > 数据存储 英文文档：.removeData()

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

描述: 在元素上移除绑定的数据

- #### 添加的版本: 1.2.3.removeData( [name ] )

  - name
    类型: String
    要移除的存储数据名.

- #### 添加的版本: 1.7.removeData( [list ] )

  - list
    类型: Array,String
    一个数组或空间分隔的字符串命名要删除的数据块。

`.removeData()`方法允许我们移除用`.data()`绑定的值。当带name参数调用的时候，`.removeData()`将删除那个特有的值，当不带任何参数的时候，所有的值将被移除。从jQuery的内部`.data()` 缓存不影响任何在文档中的HTML5的`data-`属性，使用`.removeAttr()`可以移除这些属性。

当使用`.removeData("name")`时，如果没有这个属性名字是在内部数据缓存，jQuery将试图在元素上找到一个 `data-`的属性。为了避免重复查询 `data-` 属性，将这个名称设置为无论是`null` 或 `undefined`的值(例如 `.data("name", undefined)`)，而不是使用`.removeData()`。

从jQuery 1.7开始, 当所谓的键数组或一个空间分隔键的字符串，`.removeData()`删除在该数组或字符串的每一个键值。

至于jQuery 1.4.3,调用的`.removeData()`将导致属性值被删除恢复到DOM中的名称相同的数据属性的值，而不是设置`undefined`。

## 例子:

#### Set a data store for 2 names then remove one of them.

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 |
    <!DOCTYPE html><html><head>  <style>  div { margin:2px; color:blue; }  span { color:red; }  </style>  <script src="https://code.jquery.com/jquery-latest.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>

#### Demo: