老生常谈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 相关文章推荐
创建一个复制UBB软件信息的链接或按钮的js代码
Jan 06 Javascript
javascript中万恶的function实例分析
May 25 Javascript
深入理解JavaScript系列(15) 函数(Functions)
Apr 12 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 Javascript
js将当前时间格式转换成时间搓(自写)
Sep 26 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
Oct 30 Javascript
微信小程序 教程之引用
Oct 18 Javascript
Jquery Easyui日历组件Calender使用详解(23)
Dec 18 Javascript
javascript+jQuery实现360开机时间显示效果
Nov 03 jQuery
vue源码nextTick使用及原理解析
Aug 13 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
Sep 03 Javascript
JavaScript设计模式之原型模式详情
Jun 21 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
用PHP制作静态网站的模板框架(四)
2006/10/09 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
JS实现简单打字测试
2020/06/24 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
Python中文竖排显示的方法
2015/07/28 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
python 构造三维全零数组的方法
2018/11/12 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
运动会宣传口号
2014/06/09 职场文书
师范类求职信
2014/06/21 职场文书
实训报告范文大全
2014/11/04 职场文书
创业计划书之餐饮
2019/09/02 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android