您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月21日 06:57

原创 jQuery.removeData() 函数详解

3048 次浏览 读完需要≈ 6 分钟

内容目录

removeData()函数用于移除在当前jQuery对象所匹配的每一个元素上存储的指定键名的数据项

removeData()函数主要用来移除通过data()函数存放的数据。

该函数属于jQuery对象(实例)。

语法

removeData()函数的语法如下:

jQueryObject.removeData( keys )

注意removeData()会移除当前jQuery对象所匹配的每一个元素上指定键名的数据。

参数

参数 描述
keys String/Array类型指定的键名字符串或数组。

如果要同时移除多个键名的数据项,请传入数组形式的参数,数组的每个元素即是需要移除的键名字符串。你也可以传入以空格分隔的字符串,空格隔开的每个子字符串即是需要移除的键名字符串。

如果参数keys是包含空格的字符串,例如"a b c",则removeData()将先判断是否存在键名为"a b c"(字符串本身)的数据项,如果存在则移除该数据,并且不再执行后续的分割等操作。如果不存在,才会根据空格进行分割,移除键名分别为"a"、"b"、"c"(分割后的子字符串)的数据项。

如果你存放数据的键名中包含空格(例如"a b"),此时使用removeData()同时移除多个键名的数据项(例如"a b c d",其中"a b"是一个键名),将无法成功移除包含空格的键名(例如"a b")。你可以改用数组形式,或者针对包含空格的键名进行单独移除。

返回值

removeData()函数的返回值是jQuery类型,返回当前jQuery对象本身。

示例&说明

以下面这段HTML代码为例:

<div id="n1">
	<div id="n2">
		<ul id="n3">
			<li id="n4">item1</li>
			<li id="n5">item2</li>
			<li id="n6">item3</li>
		</ul>
	</div>	
</div>

我们编写如下jQuery代码:

var $li = $("li");
// 同时向所有的li元素存储数据
$li.data("name", "CodePlayer");
$li.data("desc", "专注于编程开发技术分享");
$li.data("url", "https://codeplayer.vip/");

// 同时移除所有li元素上的键名为name的数据
$li.removeData("name");

var $n5 = $("#n5"); // 通过n4、n5、n6都可以读取数据
//  返回键值name所对应的数据
document.writeln( $n5.data("name") ); // undefined

var $n4 = $("#n4");
// 找不到键名为"desc url"的数据项,接着根据空格进行分割
// 移除键名为"desc"、"url"的数据项
$n4.removeData("desc url");
document.writeln( $n4.data("desc") ); // undefined
document.writeln( $n4.data("url") ); // undefined

$li.data("a", "测试a");
$li.data("b", "测试b");
$li.data("a b", "测试a b");
//只会移除键名为"a b"的数据项
$li.removeData("a b");
document.writeln( $li.data("a") ); // 测试a
document.writeln( $li.data("b") ); // 测试b

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单