老生常谈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与iframe交互实现代码
Dec 24 Javascript
jQuery对表单元素的取值和赋值操作代码
May 19 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
js正则表达式replace替换变量方法
May 21 Javascript
浅析JSONP技术原理及实现
Jun 08 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
Vue.js双向绑定实现原理详解
Dec 22 Javascript
BootStrap Fileinput初始化时的一些参数
Dec 30 Javascript
详解vue-router基本使用
Apr 18 Javascript
详解Vue整合axios的实例代码
Jun 21 Javascript
微信小程序地图实现展示线路
Jul 29 Javascript
Javascript的promise,async和await的区别详解
Mar 24 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实现链结人气统计
2006/10/09 PHP
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
javascript自执行函数
2017/02/10 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
python自定义时钟类、定时任务类
2021/02/22 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
python 绘制正态曲线的示例
2020/09/24 Python
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
高中生毕业自我鉴定范文
2013/12/22 职场文书
便利店促销方案
2014/02/20 职场文书
青春演讲稿范文
2014/05/08 职场文书
村党支部书记承诺书
2014/05/29 职场文书
会议欢迎标语
2014/06/30 职场文书
国际贸易实训报告
2014/11/05 职场文书
销售辞职信范文
2015/03/02 职场文书
护士实习自荐信
2015/03/06 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
优秀员工演讲稿
2019/06/21 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书