`
shuaigg.babysky
  • 浏览: 567867 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

jquery.prototype.data

阅读更多

jquery运行的闭包中生成变量expando = 'jQuery'  +  new Date

 

然后在闭包中弄了1个数

 

每次调data的时候+1

 

往元素的expando 属性上挂 这个数

 

然后将属性存到$.cache中

 

键为元素的expando对应的数字

 

值为存储的东西

 

 

(function($) {

       var expando = 'jQuery' + new Date;

       var num = 0;

       $.fn.data = function(a,b) {

             return this.each(function() {

                     if(!b) {

                           if(!this.expando) {

                           this.expando = ++num;

                           $.cache[num] = {};

 

                     }

                     $.cache[num][a] = b;

                     } else {

                             if(!this.expando) return null;

                             return $.cache[this.expando][a];

                    }

 

             });

        }

})(jQuery);

分享到:
评论

相关推荐

    用标准javascript 替代jQuery.

    jQuery 的 `$` 函数返回的对象支持链式操作,而原生 JavaScript 中可以使用 `Array.prototype.forEach` 或 `for...of` 循环来遍历元素集合。 6. **动画效果** jQuery 的动画功能可以通过 CSS3 动画或者使用 `...

    javaScript生成支持中文带logo的二维码(jquery.qrcode.js)

    for (var i = 0, l = this.data.length; i ; i++) { var byteArray = []; var code = this.data.charCodeAt(i); // 根据UTF-8编码规则,处理多字节字符 if (code > 0x10000) { // ... } else if (code > 0x...

    jquery 插件jquery 插件jquery 插件jquery 插件

    - 自执行匿名函数:jQuery插件通常以`(function($){})(jQuery)`的形式包裹,这样可以确保$始终指向jQuery对象,即使在使用其他库如Prototype时也能避免冲突。 - 扩展jQuery对象:使用`$.fn.extend({})`来添加新的...

    jquery案例.doc

    alert('User clicked on "foo." ' + event.data.test1 + event.data.test2); }); ``` #### 12. 向元素追加HTML内容 使用`append`方法可以在元素末尾追加内容: ```javascript $('#lal').append('some text'); ``...

    jQuery使用经验小技巧(推荐)

    要将方法添加到jQuery.fn(即jQuery.prototype),你可以直接在$.fn上定义,如`$.fn.myMethod = function() {...}`。这样,`$('selector').myMethod()`就可以直接调用这个方法。 7. **事件处理**: 使用`.on()`...

    jquery需要的所有js文件

    jquery需要的所有js文件 /*! * jQuery UI 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * ...

    prototype与jquery下Ajax实现的差别

    先列举一下Ajax在Jquery和prototype中的实现。 Jquery: 代码如下: [removed] $(function(){ var box = {}; var remoteUrl = ‘index.php’; box.interval = 5*60*1000;//5分钟 box.showBoxInfo = function() { ...

    jquery prototype dojo 之 Ajax example and 学习总结

    本文将结合标题“jquery prototype dojo 之 Ajax example 和学习总结”以及描述,深入探讨jQuery、Prototype和Dojo这三种JavaScript库中的Ajax应用,以及相关的学习要点。 首先,jQuery是目前最流行的JavaScript库...

    深入理解jQuery插件开发 - WEB开发者1

    一旦我们有了`methods`对象,就可以将其添加到jQuery.fn(即jQuery.prototype)上,使它们成为jQuery元素的实例方法: ```javascript $.fn.pluginName = function(methodOrOptions) { if (methods[methodOrOptions...

    如何编写jquery组件(jq插件).zip

    data.init(); } }); }; function Counter(element, options) { this.$el = $(element); this.options = $.extend({}, Counter.DEFAULTS, options); this.count = 0; } Counter.DEFAULTS = { startAt: 0, ...

    jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend

    `jQuery.fn.extend` 相对特殊,它是 `jQuery.prototype.extend` 的别名,用于扩展 jQuery 对象实例的方法。这意味着,当你调用 `jQuery.fn.extend` 时,实际上是为每个 jQuery 对象添加新的行为。例如,在提供的代码...

    jquery 插件开发 pdf

    `$.fn`是jQuery对象的别名,代表了原型链`jQuery.prototype`。 - 插件内部应封装所有功能,避免污染全局作用域。 3. **参数传递** - 插件可以通过传递参数来自定义其行为。这些参数可以在调用插件时提供,如`$('...

    jQuery左右列表选项框代码.zip

    接下来,jQuery的核心是`$.fn`(即`jQuery.prototype`),它是所有jQuery对象方法的集合。在这个例子中,可能包含以下函数: 1. **获取左侧数据**:这通常涉及到遍历左侧列表的所有`<li>`元素,收集其数据(如文本...

    jquery2019112701.rar

    这里我们使用了JavaScript的Array.prototype.filter()方法来实现筛选。 4. 数据分组:如果需要对选项进行分组,可以在HTML结构中添加li元素作为分组标题,然后在JavaScript中进行相应的处理。例如,可以先按分组...

    JQuery.ajax传递中文参数的解决方法 推荐

    在使用JQuery的`$.ajax`函数进行异步数据交互时,可能会遇到中文参数乱码的问题。这主要是由于默认的`contentType`设置不支持中文字符集导致的。JQuery的默认`contentType`是`application/x-www-form-urlencoded`,...

    jQuery源代码

    1. 原型链与继承:jQuery的核心设计基于JavaScript的原型链机制,通过$.fn(即$.prototype)扩展了Function.prototype,实现了对象的链式操作和方法共享。 2. 选择器引擎:jQuery的核心功能之一是高效的选择元素,...

    JQuery基本理论.pdf

    6. **AJAX 交互**:jQuery 的 `$.ajax()` 函数简化了与服务器的数据交互,`$.get(url, data, successCallback)` 用于发送 GET 请求,`$.post(url, data, successCallback)` 发送 POST 请求。 jQuery 还支持多种其他...

    JQuery报错Uncaught TypeError: Illegal invocation的处理方法

    在这个特定的场景中,错误出现的原因是在使用jQuery的Ajax方法进行数据提交时,`data` 参数设置不正确。 首先,我们需要理解jQuery的`$.ajax`或简化的`$.post`、`$.get`等方法用于实现异步请求。在发送请求时,我们...

Global site tag (gtag.js) - Google Analytics