jQuery.data() 函数详解
来源:互联网 发布:mac五笔输入法哪个好 编辑:程序博客网 时间:2024/06/09 22:08
转自:http://www.365mini.com/page/jquery-data.htm
data()
函数用于在当前jQuery对象所匹配的所有元素上存取数据。
通过data()
函数存取的数据都是临时数据,一旦页面刷新,之前存放的数据都将不复存在。
该函数属于jQuery
对象(实例)。如果需要移除通过data()
函数存放的数据,请使用removeData()函数。
语法
data()
函数有以下两种用法:
用法一:
jQueryObject.data( [ key [, value ] ])
以指定的键名key
存取数据。如果指定了value
参数,则表示以键名key
存放值为value
的数据;如果没有指定value
参数,则表示读取之前以键名key
存放的数据;如果没有指定任何参数,则以对象形式返回之前存储的所有数据。
用法二:
jQueryObject.data( object )
以对象形式同时传入任意多个key-value形式的数据,对象的每个属性就是键名key
,属性值就是value
。
注意:data()
函数的所有"存储数据"操作针对当前jQuery对象所匹配的每一个元素;所有"读取数据"操作只针对第一个匹配的元素。
参数
请根据前面语法部分所定义的参数名称查找对应的参数。
返回值
data()
函数的返回值是任意类型,返回值的类型取决于当前data()
函数执行的是"存储数据"操作还是"读取数据"操作。
如果data()
函数执行的是"存储数据"操作,则返回当前jQuery对象本身;如果是"读取数据"操作,则返回读取到的数据。
如果当前jQuery对象匹配多个元素,读取数据时,data()
函数只以其中第一个匹配的元素为准。
如果执行data(key)
函数(仅传入一个参数key
)时找不到相应的数据,则返回undefined
。如果执行data()
函数(不带任何参数)时找不到相应的数据,则返回一个空的对象(没有任何属性)。
示例&说明
以下面这段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", "http://www.365mini.com/");var $n5 = $("#n5"); // 通过n4、n5、n6都可以读取数据// 返回键值name所对应的数据document.writeln( $n5.data("name") ); // CodePlayer// 以对象形式返回所有的数据var obj = $("#n6").data();for(var i in obj){ document.writeln( i + "=" + obj[i] + "<br>"); }/*输出:name=CodePlayerdesc=专注于编程开发技术分享url=http://www.365mini.com/*///移除掉n4上存储的键名为name的数据$("#n4").removeData("name");// 虽然$li匹配3个li元素,但是读取数据只以第一个li元素n4为准,因此返回undefineddocument.writeln( $li.data("name") ); // undefinedvar object = { name: "张三", age: 18, score: [87, 23, 56], options: { gender: "男", address: "水帘洞" } };// 同时向所有的div元素以对象形式设置多个key-value数据// value值可以是任意类型的数据,包括数组、对象等$("div").data( object );var $n2 = $("#n2"); // 通过n1、n2都可以读取数据document.writeln( $n2.data("name") ); // 张三document.writeln( $n2.data("score") ); // 87,23,56document.writeln( $n2.data("options") ); // [object Object]
运行代码
- jQuery.data() 函数详解
- jQuery.data() 函数详解
- jQuery data()函数应用
- jQuery jQuery() 函数详解
- 【jquery】jQuery.extend 函数详解
- [jQuery] jQuery.extend 函数详解
- jquery--jQuery.extend 函数详解
- jquery click([data],fn)使用方法详解
- jquery ajax中data属性详解
- jQuery .attr() .prop() .data()用法详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- ginx+php-fpm实现原理及问题记录
- 写在2015的尾巴上
- php的array object 互转
- js判断上传文件大小
- iOS发短信
- jQuery.data() 函数详解
- 聚类图像像素 Clustering Pixels Using K-Means
- 中文编码--深入分析 Java 中的中文编码问题
- Python学习笔记——条件判断与循环
- linux-mysql-store-result
- java7.instance of关键字
- iOS开发之CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)
- Spring auto wire(自动装配) 的 五种方式
- VLD简介