老生常谈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 相关文章推荐
js获取和设置属性的方法
Feb 20 Javascript
button没写type=button会导致点击时提交
Mar 06 Javascript
jquery获取url参数及url加参数的方法
Oct 26 Javascript
jQuery图片加载显示loading效果
Nov 04 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
Feb 22 Javascript
微信小程序之数据缓存的实例详解
Sep 29 Javascript
使用async、enterproxy控制并发数量的方法详解
Jan 02 Javascript
微信小程序图表插件wx-charts用法实例详解
May 20 Javascript
Vue学习之组件用法实例详解
Jan 06 Javascript
详解vue高级特性
Jun 09 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
Jan 28 Javascript
(开源)微信小程序+mqtt,esp8266温湿度读取
Apr 02 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
apache+php+mysql安装配置方法小结
2010/08/01 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
Javascript 去除数组的重复元素
2010/05/04 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
Python对数据库操作
2016/03/28 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
六道php面试题附答案
2014/06/05 面试题
机械专业应届生求职信
2013/09/21 职场文书
三年级科学教学反思
2014/01/29 职场文书
干部现实表现材料
2014/02/13 职场文书
小学教学随笔感言
2014/02/26 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
庆祝教师节标语
2014/10/09 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
家长会开场白和结束语
2015/05/29 职场文书
旗帜观后感
2015/06/08 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
js实现自动锁屏功能
2021/06/02 Javascript