老生常谈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 相关文章推荐
Javascript中的相等与不等运算
Apr 25 Javascript
javascript 得到文件后缀名的思路及实现
May 09 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
Mar 02 Javascript
js实现常用排序算法
Aug 09 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
通过JavaScript下载文件到本地的方法(单文件)
Mar 17 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
layui问题之模拟table表格中的选中按钮选中事件的方法
Sep 20 Javascript
Vue列表循环从指定下标开始的多种解决方案
Apr 08 Javascript
vue 调用 RESTful风格接口操作
Aug 11 Javascript
uni-app使用countdown插件实现倒计时
Nov 01 Javascript
swiperjs实现导航与tab页的联动
Dec 13 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
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
PHP parse_url 一个好用的函数
2009/10/03 PHP
PHP微信分享开发详解
2017/01/14 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
PDO::query讲解
2019/01/29 PHP
js自定义事件代码说明
2011/01/31 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
Python中的匿名函数使用简介
2015/04/27 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
Python 实现自动导入缺失的库
2019/10/29 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
优秀的毕业生的自我评价
2013/12/12 职场文书
讲座主持词
2014/03/20 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
仓管员岗位职责
2015/02/03 职场文书
2015年推普周活动总结
2015/03/27 职场文书
Redis可视化客户端小结
2021/06/10 Redis