jQuery属性自动添加到元素

前端之家收集整理的这篇文章主要介绍了jQuery属性自动添加到元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在第一次使用开发者工具中使用IE8之后,我注意到jQuery正在附加一些元素的属性
alt text http://thebe.jtan.com/~vince/stack/jquery.PNG

我从来没有注意过这个.事实上,这并没有出现在Firebug …我只是第一次看到它在IE8开发工具.有没有人知道jQuery是否使用这个,为什么它隐藏在firebug中?

解决方法

The jQuery source很容易阅读,你可以看看数据功能在做什么.

总结:

> jQuery有一个名为’expando’的变量是’jQuery'(new Date)
> jQuery有另一个变量uuid,以“1”开头
> jQuery.cache是​​一个空对象
>设置/获取HTML元素/对象上的任何“数据”将使用该对象上的expando属性将引用存储到jQuery.cache中,如下所示:

// get the elements cache id,or create a new cache id:
var id = elem[expando] || (elem[expando] = uuid++);
// get the cache for the element,or create it:
var data = jQuery.cache[id] || (jQuery.cache[id] = {});

>事件处理程序存储在该内部数据对象的事件和句柄属性中.

因此,内部使用.data()分配的所有属性都使用HTML上的“expando”属性将密钥存储到jQuery的内部数据缓存中. jQuery事件处理程序也存储在同一个缓存中.分配给expando的数值是一个增量计数器,它引用其在jQuery缓存对象中的位置.

猜你在找的jQuery相关文章