.removeData( [name ] )Returns: jQuery
Description: Remove a previously-stored piece of data.
-
version added: 1.2.3.removeData( [name ] )
- nameType: StringA string naming the piece of data to delete.
-
-
version added: 1.7.removeData( [list ] )
- listAn 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.
Example:
Set a data store for 2 names then remove one of them.
<!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.jquery.com/jquery-3.5.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>