.removeData()

Remove a previously-stored piece of data.

.removeData(name)🡢 jQuery

name StringA string naming the piece of data to delete.

.removeData(list)🡢 jQuery

list Array, StringAn 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.

JS
<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>
CSS
div {
  margin: 2px;
  color: blue;
}
span {
  color: red;
}
HTML
$("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"));
DEMO

Looking for a Web Developer?

👋

Hi! I'm Basti, author of this site. If you are looking for a web developer with 15+ years of experience, holla at me!

Be it the good 'ol jQuery, vanilla JS or modern frameworks like Vue and Svelte, front- or backend, I can help you.

Just write me at jobs@jqapi.com :)