老生常谈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 相关文章推荐
将函数的实际参数转换成数组的方法
Jan 25 Javascript
JavaScript自动设置IFrame高度的小例子
Jun 08 Javascript
jquery实现移动端点击图片查看大图特效
Sep 11 Javascript
jqGrid用法汇总(全经典)
Jun 28 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
Oct 25 Javascript
详解ES6语法之可迭代协议和迭代器协议
Jan 13 Javascript
Node.js的Koa实现JWT用户认证方法
May 05 Javascript
js删除数组中某几项的方法总结
Jan 16 Javascript
详解vue中axios的使用与封装
Mar 20 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
element ui分页多选,翻页记忆的实例
Sep 03 Javascript
js实现打字小游戏
Dec 17 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实现文件下载(支持中文文名)
2013/12/04 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
prototype1.4中文手册
2006/09/22 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
学习python分支结构
2019/05/17 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
英国著名书店:Foyles
2018/12/01 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
外贸业务员求职信范文
2013/12/12 职场文书
简单的辞职信范文
2014/01/18 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
2014年大学生工作总结
2014/11/20 职场文书
离婚起诉书范本
2015/05/18 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
退伍军人感言
2015/08/01 职场文书
创业计划书之酒吧
2019/12/02 职场文书