老生常谈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 location几个方法小姐
Jul 09 Javascript
一个选择最快的服务器转向代码
Apr 27 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
Apr 07 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Sep 26 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
Dec 20 Javascript
JS实现网页上随机产生超链接地址的方法
Nov 09 Javascript
jQuery EasyUI封装简化操作
Sep 18 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
Oct 11 Javascript
vue.js this.$router.push获取不到params参数问题
Mar 03 Javascript
八种Vue组件间通讯方式合集(推荐)
Aug 18 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
一个域名查询的程序
2006/10/09 PHP
用Flash图形化数据(二)
2006/10/09 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
javascript事件问题
2009/09/05 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
javascript基础知识讲解
2017/01/11 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
2018/09/17 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
Python实现包含min函数的栈
2016/04/29 Python
Python之list对应元素求和的方法
2018/06/28 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
python实现简单井字棋游戏
2020/03/04 Python
Python try except异常捕获机制原理解析
2020/04/18 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
保安员岗位职责
2013/11/17 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
知识竞赛主持词
2014/03/26 职场文书
个人校本研修方案
2014/05/26 职场文书