.removeData()
Remove a previously-stored piece of data.
.removeData(name)🡢 jQuery
name
| String | A string naming the piece of data to delete. |
.removeData(list)🡢 jQuery
list
| Array, String | An array or space-separated string naming the pieces of data to delete. |
The .removeData()
method allows us to remove values that were previously set using .data()
. When called with the name of a key, .removeData()
deletes that particular value. When called with no arguments, .removeData()
removes all values.
Note that .removeData()
will only remove data from jQuery's internal .data()
cache, and any corresponding data-
attributes on the element will not be removed. A later call to data()
will therefore re-retrieve the value from the data-
attribute. To prevent this, use .removeAttr()
alongside .removeData()
to remove the data-
attribute as well. Prior to jQuery 1.4.3, as data()
did not use data-
attributes, this was not an issue.
As of jQuery 1.7, when called with an array of keys or a string of space-separated keys, .removeData()
deletes the value of each key in that array or string.
Set a data store for 2 names then remove one of them.
<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>
div {
margin: 2px;
color: blue;
}
span {
color: red;
}
$("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"));