老生常谈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中的load方法装载IE缓存中文件的方法
Sep 11 Javascript
有关于JS辅助函数inherit()的问题
Apr 07 Javascript
javascript操作excel生成报表全攻略
May 04 Javascript
JavaScript变量声明详解
Nov 27 Javascript
jQuery实现设置、移除文本框默认值功能
Jan 13 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
使用angular帮你实现拖拽的示例
Jul 05 Javascript
二维码图片生成器QRCode.js简单介绍
Aug 18 Javascript
脚手架vue-cli工程webpack的基本用法详解
Sep 29 Javascript
使用jQuery实现掷骰子游戏
Oct 24 jQuery
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
Jan 06 Javascript
JS绘图Flot如何实现可选显示曲线图功能
Oct 16 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
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
js比较和逻辑运算符的介绍
2013/03/10 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
分分钟入门python语言
2018/03/20 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
Python列表操作方法详解
2020/02/09 Python
python中shell执行知识点
2020/05/06 Python
Python reduce函数作用及实例解析
2020/05/08 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
英国足球店:UK Soccer Shop
2017/11/19 全球购物
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
什么是封装
2013/03/26 面试题
护士自荐信范文
2013/12/15 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
Python echarts实现数据可视化实例详解
2022/03/03 Python