- 浏览: 2620437 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1286)
- js-oop (2)
- js-window (10)
- js-event (19)
- js-string (37)
- js-array (27)
- js-page (4)
- js-dom (62)
- js-lang (8)
- js-number (7)
- js-platform (3)
- js-object (15)
- js-element (3)
- js-browser (7)
- js-url (6)
- js-date (10)
- css基础 (48)
- css优化 (15)
- html基础 (17)
- html标签 (19)
- js基础 (117)
- js-兼容性差异 (33)
- js引擎 (3)
- js性能 (14)
- json (6)
- jQuery源码浅析 (43)
- web mobile开发资料 (78)
- js跨域 (2)
- html5 (74)
- html5-canvas (7)
- css3 (53)
- 浏览器 (5)
- api设计学 (3)
- js-加载 (3)
- linux (37)
- 架构师 (1)
- php (2)
- self开发的脚本库--凤凰 (2)
- web应用名词 (6)
- javascript新特性翻译 (8)
- ajax (6)
- jQuery动画效果 (7)
- prototype的解读 (13)
- 优秀插件翻译 (1)
- css解决方案 (26)
- 数据库 (2)
- english daily (59)
- 浏览器内核探究 (1)
- jQuery插件介绍 (9)
- jquery基础篇 (26)
- chrome浏览器问题整理 (14)
- js选择器那些事 (3)
- 前端框架 (26)
- Firefox私有属性 (11)
- webkit私有属性集合 (17)
- 书籍推荐 (21)
- 数据结构 (1)
- 网站建设相关 (7)
- 好文翻译 (2)
- 个人作品 (3)
- kissy的解读 (4)
- css-layout(布局研究) (5)
- less研究 (1)
- YUI探究 (1)
- hash探究 (1)
- js动画 (7)
- 前端面试题 (37)
- css书写规范 (1)
- js模板引擎 (6)
- js模块化 (19)
- 编写高质量代码 (3)
- 性能探究--应用协议 (2)
- 前端图像处理 (19)
- Mac OS相关 (21)
- 正则表达式 (11)
- 离线应用相关 (0)
- 前端工具 (65)
- nodeJS (55)
- jquery优化篇 (2)
- 设计模式探究系列 (3)
- windows7 (2)
- IE10 (10)
- 微博开放平台探究 (2)
- 常用web服务接口 (1)
- 数据存储相关 (8)
- 零时文件 (2)
- jQuery Mobile (16)
- backbone (15)
- underscore (22)
- sass (11)
- android (3)
- phonegap (10)
- IE私有 (11)
- qwrap (8)
- git (14)
- chrome extensions (5)
- freemarker (11)
- angularJS (3)
- seo (2)
- markdown (3)
- css动画 (4)
- 安卓开发 (2)
- React (7)
- 活动页技术 (1)
- 网络安全 (3)
- grunt (7)
- Lo-Dash (3)
- 前端国际化 (4)
- 版本控制 (2)
- 盒模型 (4)
- 微信开发 (1)
- Mock数据工具 (1)
- sails (1)
- vim (1)
- js-color (1)
- iOS 基础 (43)
最新评论
-
jertom:
<div id="showInfo" ...
addEventListener等事件监听的参数细谈 -
乌托邦国王:
引用[u][/u]
css3动画属性系列之transform细讲移动translate -
hvang1988:
能提供附件下载吗,找不到js库,google封了访问不了
Syntaxhighlighter---代码高亮插件介绍 -
sscsacdsadcsd:
我的天 那到底是为什么function是object我看und ...
typeof func ==='function'的疑惑 -
wkjiangwk:
试了,没用,你们从不去测试。
介绍一下x-webkit-speech -------实现语音输入
前言:
先回顾一下上一篇:深入解读jquery的数据存储相关(data)开篇,本篇继续下一个版本。。。
正文:
上一篇其实已经简单地介绍了一个比较关键的地方:
- 节点如何和数据仓库(cache)直接的映射关系
- 如何区别处理window节点绑定数据
- expando生成的规则
- 。。。。
本文先看一下jquery-1.3版本吧:
其实变化有大有小:
1、内部很多场景下用到 new Date相关的,抽离了一个方法now:
function now(){ return +new Date; } //expando的微小变化 var expando = "jQuery" + now();
2、有用的来了:在fn里面扩展了,方便jQuery对象之间使用data方法进行数据存储操作。
jQuery.fn.extend({ /* *@name data *@param key *@param value */ data:function(key,value){ var parts = key.split("."); parts[1] = parts[1] ? "." + parts[1] :""; if(value === undefined){ //获取数据 //@info 这段代码很有风格,非“一般人”会这样写 //如果你在调用之前注册了一个getData的方法,会先触发,回调给用户代理 var data = this.triggerHandler("getData"+parts[1]+"!",[parts[0]]); if(data === undefined && this.length){ data = jQuery.data(this[0],key); } return data === undefined && parts[1] ? this.data(parts[0]) : data; }else{ //设置数据 //@info 这段代码很有风格,非“一般人”会这样写 //如果你在调用之前注册了一个setData的方法,会先触发,回调给用户代理 return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){ //还是核心jQuery.data jQuery.data(this,key,value); }); } }, /* *@name removeData *@param key */ removeData:function(key){ //核心还是转向jQuery.removeData jQuery.removeData(this,key); } })
how to use??
<div id="out1"></div>
1、设置数据
//绑定自定义setData $('#out1').bind('setData',function(e){ console.log('开始setData'); }); $('#out1').data('name','zhangyaochun');
看一下setData句柄里面的arguments吧:
2、获取数据:
//绑定自定义getData的事件 $('#out1').bind('getData',function(e){ console.log('开始getData'); }); console.log($('#out1').data('name'));
看一下getData句柄里面的arguments吧:
结语:
按司徒的话说,这两个用户自定义入口,给了也是白给,使用率比较低,或者N多的人基本不知道。。。。
- 比较赞的地方还是这种给用户回调的设计,个人比较喜欢和推崇,也是lib和plugin设计的一个必杀技
- 还一个就是终于在jQuery对象绑上data和removeData了,这样才像jQuery嘛!!!
发表评论
-
qwrap之Jss调用
2013-04-23 13:53 1322/** *@name getOwnJss ... -
探究一下qwrap的Jss开篇
2013-04-23 13:53 1322本文探究一下qwrap的一个特色地方:Jss ... -
介绍jquery事件的一种内部写法
2013-03-25 20:00 2055注释:本文不探究jquery event机制, ... -
jquery add详解
2013-03-19 18:40 0add:function(elem,types, ... -
jquery事件系统解耦之一
2013-03-19 17:43 0先上代码:http://code.jqu ... -
jquery api之camelCase
2013-03-12 11:36 1222本代码取之:1.4.3版本(才开始有) ... -
jq插件之metadata
2013-03-11 17:19 1673先直接上源码吧: (function( ... -
jq的选择器流程之二
2013-01-28 16:45 0前面简单些了一篇《jq的选择器流程分析开篇》,本文关注1. ... -
jq的选择器流程分析开篇
2013-01-28 14:17 1733本文简单地分析以下jquery的选择器流程: 为了 ... -
jquery Sizzle系列之filters
2013-01-28 12:16 1730本代码来自1.7.1版本。 jQuery.expr ... -
event.isDefaultPrevented
2013-01-14 12:18 1652jQuery 1.3版本开始引入了一个这个 ... -
jQuery相关的boxModel
2012-12-21 20:58 1592此方法比较简单,但是 ... -
深入解读jquery的数据存储相关(data)序3
2012-12-19 18:27 2234前言: 上一篇: 深入解读jquery的数 ... -
深入解读jquery的数据存储相关(data)序3
2012-12-19 18:26 1本文关注一下jQuery1.4版本: 主要的变化: ... -
深入解读jquery的数据存储相关(data)序2
2012-12-18 11:00 3前言: 先回顾一下 ... -
深入解读jquery的数据存储相关(data)开篇
2012-12-17 20:43 1998前言: 周六看了司徒的一篇文章,觉得这个top ... -
深入解读jquery的数据存储相关(data)开篇
2012-12-17 20:29 2前言: 周六看了司徒的一篇文章,觉得这个topic不 ... -
jQuery数据缓存相关api简介
2012-12-17 13:32 1308本文简单汇总一下jQuery数据缓存相关的几个api: ... -
IE下删除自定义属性的兼容性问题
2012-12-17 10:02 2855很多时候我们会给某个dom元素赋予一些自定义的属 ... -
关于数据存储方式的简单实现方案
2012-10-26 21:43 1363其实很多框架都会考虑数据存储相关的,有很多方式:有存节点上,也 ...
相关推荐
本手册旨在对jQuery1.7.1的API进行深入解读,帮助开发者更好地理解和应用这一工具。 #### 二、获取jQuery对象:构建核心 ##### 1. $() 方法:一切的起点 - **参数类型**:`$()`方法接受多种类型的参数,包括...
通过`.data()`方法存储的数据现在会直接存储在DOM元素上,而不是在jQuery对象内部,这减少了内存占用,提高了访问速度。 ```javascript $(element).data(key, value); ``` ### 4. `$.ajax()` 更新 在jQuery 1.7中...
2. `.data()`: 这个方法现在更加智能,能够正确处理DOM元素上的数据存储。它可以自动将字符串转换为数字、布尔值等,同时对复杂数据类型(如对象)的存储和检索也更为精确。 3. `.delegate()`, `.live()`, `....
1. **缓存机制**:jQuery使用`data()`和`cache`对象存储元素的附加数据,减少不必要的DOM查询。 2. **DOM操作的优化**:jQuery尽可能减少DOM操作,例如通过创建文档片段批量添加元素,提高性能。 七、结论 通过对...
`data()`函数是jQuery提供的一种非常方便的方式来存储和检索数据。相比于传统的HTML属性如`alt`等,使用`data()`更加安全和灵活。 - **设置数据**: ```javascript $('selector').data('key', 'value to be ...
jQuery对象可以通过`.data(key, value)`存储关联数据,方便在后续操作中使用。jQuery的插件机制允许用户扩展其功能,`.extend()`方法用于合并对象,实现自定义功能的叠加。 8. **工具函数**: jQuery提供了一系列...
本集合包含从1.2至1.8版本的jQuery库,以及相关的API说明文档,旨在帮助开发者深入理解和应用jQuery。** ### 1. jQuery 版本演变 - **jQuery 1.2**: 引入了`.live()`方法,支持事件委托,提高了性能。还增加了对...
`$.data()`在1.6中进行了优化,能更好地处理复杂数据存储。它可以将数据与DOM元素关联,对于存储自定义的用户数据非常有用。同时,它会尝试将字符串转换为适当的JavaScript类型,提高了数据读取的准确性。 4. **...
1. 避免DOM操作:减少不必要的DOM操作,使用$(“#id”).data()存储和检索数据,而不是直接修改DOM属性。 2. 使用$(document).ready():确保DOM加载完毕后再执行脚本,提高页面加载速度。 3. 少用全局变量:过多的...
此外,`data()`方法用于存储和检索与元素关联的数据。 **4. 事件处理** jQuery的事件处理包括`click()`, `mouseover()`, `mouseout()`等,可以方便地绑定和解绑事件。`on()`和`off()`是更通用的事件绑定和解绑方法...
3. 新增API:例如,`.data()` 方法现在可以直接操作元素的自定义数据属性,增强了数据存储的便利性。 4. 错误处理:对错误处理机制进行了改进,提供了更好的错误报告和异常处理,帮助开发者定位问题。 三、实际...
5. 数据管理:为了跟踪当前显示的图片,可以使用jQuery的`.data()`方法存储状态信息,或者利用JavaScript数组管理图片索引。 三、实例分析:jiaoben464 在提供的压缩文件“jiaoben464”中,很可能包含了一个示例...
数据集成服务(data-integration-services)是一个综合性的大数据分析平台,其核心目标是处理从各种来源获取的数据,通过一套完整的工作流程实现数据的价值挖掘。在这个平台上,数据生命周期中的关键环节包括数据采集...
同时,`.data()`方法的改进使得数据存储更加安全和可靠。 总的来说,jQuery 1.5是一次重要的升级,它在性能、易用性和功能上都有显著的提升。对于开发者来说,理解并掌握这些更新将有助于提高开发效率,创造更高...
这些可以通过jQuery的`data`方法存储在DOM元素上: ```javascript $.fn.myPlugin = function(options) { var settings = $.extend({}, options); return this.each(function() { var $this = $(this); $this....
在这个名为"finance-data"的压缩包中,我们可能找到了一个与金融数据记录相关的项目。下面将详细探讨HTML在金融数据展示中的应用以及可能包含在"finance-data-master"文件夹内的资源。 HTML是创建网页的基础语言,...
本文将深入探讨与这个主题相关的多个知识点。 首先,我们关注的是HTML,这是一种超文本标记语言,是构建网页内容的基础。HTML源码定义了网页的结构,包括标题、段落、图像等元素。在大数据分析平台中,HTML用于创建...
在这一段给定的文件信息中,我们可以看到关于如何使用jQuery来创建和管理自定义导入组件的详细说明。这一部分的内容主要涉及了以下几个知识点: 1. jQuery自定义组件的概念与创建 2. jQuery插件开发的基本原则 3. ...
4. **使用Jquery data函数**:文章中提到Jquery的data函数,此函数用于将数据与DOM元素关联。在这里,可以通过data函数来存储每个图片元素的额外信息,如图片索引、图片地址等。这样做的好处是可以避免使用冗余的...
AjaxChart是一种基于Ajax...这种技术在现代Web开发中广泛应用于数据分析、监控界面、报表系统等场景,提高了用户对复杂数据的解读效率。通过熟练掌握Ajax和XML的使用,开发者能够创建出更加灵活、高效的Web应用程序。