老生常谈JQuery data方法的使用


Posted in Javascript onSeptember 09, 2016

(-1)说明

我用的是chrome49,这个方法涉及到JQuery版本问题,我手里有3.0的,有1.9.1,后面将1.9.1及其以前的称为低版本,3.0称为高版本

测试例子用到的showMessage方法如下

showMessage.i = 0; 
function showMessage(object) 
{ 
var body = $("body")[0]; 

var $p =$("#debugp"); 
 

if($p.length==0) 

{ 


$p = $("<p/>").attr("id","debugp"); 


$(body).prepend($p); 

} 

$p[0].innerHTML += "<br/>"+(showAttribute.i++)+" | "+object; 
}

(0)$.data(obj,key,value)

key值为字符串类型,为数字、对象(var lol={}),是没有意义的,value值可以为普通类型,当为引用类型时传递的是引用而不是克隆

a.

var obj = {"name":"寒冰射手","age":"12"};
$.data(obj,"height",165);
showMessage($.data(obj,"height"));

$.data实际将数据放在了对象属性上,类似于obj.sex="女",无论你通过$.data添加几个key给obj,在obj只会多出一个类似于jQuery300082932543555993442

300082932543555993442是jQuery产生的随机数,它指向一个对象,对象里面通过key-value的形式存储着你添加的数据

低版本可以通过for-in遍历出jQuery300082932543555993442,高版本只能通过debug工具查看了

b.

当value是一个对象时,传递的是引用

var husband = ["蛮族之王"];
var obj = {"name":"寒冰射手","age":"12"};
$.data(obj,"husband",husband);
$.data(obj,husband)[0] = "遁地龙卷风";
showMessage($.data(obj,husband));//输出   遁地龙卷风

(2)$(selector).data(key,value)

$("#lol").data("name","寒冰射手");

showMessage($("#lol").data("name"));

$(selector).data将数据绑定在HTML DOM元素上,剩下的特性与$.data方法一样,不过可以通过for-in得到添加的对象

以上这篇老生常谈JQuery data方法的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习jquery之一
Apr 27 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
Nov 25 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
Apr 24 Javascript
jquery和js实现对div的隐藏和显示方法
Sep 26 Javascript
jquery获取及设置outerhtml的方法
Mar 09 Javascript
Vue.js实现简单ToDoList 前期准备(一)
Dec 01 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
Jun 22 Javascript
vue环形进度条组件实例应用
Oct 10 Javascript
微信小程序实现笑脸评分功能
Nov 03 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
Nov 21 Javascript
JavaScript交换两个变量方法实例
Nov 25 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
Apr 28 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 #Javascript
jQuery内容过滤选择器用法示例
Sep 09 #Javascript
Vue.js动态组件解析
Sep 09 #Javascript
JS判断form内所有表单是否为空的简单实例
Sep 09 #Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 #Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
Sep 09 #Javascript
js判断所有表单项不为空则提交表单的实现方法
Sep 09 #Javascript
You might like
php+ajax登录跳转登录实现思路
2016/07/31 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
document.all与WEB标准
2020/05/13 Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
Python实现两个list对应元素相减操作示例
2017/06/09 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
python去掉空白行的多种实现代码
2018/03/19 Python
Python绘制热力图示例
2019/09/27 Python
python如何建立全零数组
2020/07/19 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
项目经理的岗位职责
2013/11/23 职场文书
前台文员岗位职责
2013/12/28 职场文书
团队精神的演讲稿
2014/05/14 职场文书
应届生求职信范文
2014/05/26 职场文书
公益广告标语
2014/06/19 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
城南旧事观后感
2015/06/11 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL