Skip to content
Browse files

Made the expando code attach properties to an anonymous object, as op…

…posed to the global window object, and fixed a bug where .removeAttribute() tried to fire even if it didn't exist.
  • Loading branch information...
1 parent 899ee03 commit 6476b15f1a6c3651c18e354d41ee0ab9b9a23e16 @jeresig jeresig committed Sep 10, 2007
Showing with 7 additions and 2 deletions.
  1. +7 −2 src/core.js
View
9 src/core.js
@@ -440,7 +440,7 @@ jQuery.extend = jQuery.fn.extend = function() {
return target;
};
-var expando = "jQuery" + (new Date()).getTime(), uuid = 0;
+var expando = "jQuery" + (new Date()).getTime(), uuid = 0, win = {};
jQuery.extend({
noConflict: function(deep) {
@@ -485,6 +485,8 @@ jQuery.extend({
cache: {},
data: function( elem, name, data ) {
+ elem = elem == window ? win : elem;
+
var id = elem[ expando ];
// Compute a unique ID for the element
@@ -505,6 +507,8 @@ jQuery.extend({
},
removeData: function( elem, name ) {
+ elem = elem == window ? win : elem;
+
var id = elem[ expando ];
// If we want to remove a specific section of the element's data
@@ -528,7 +532,8 @@ jQuery.extend({
} catch(e){
// IE has trouble directly removing the expando
// but it's ok with using removeAttribute
- elem.removeAttribute( expando );
+ if ( elem.removeAttribute )
+ elem.removeAttribute( expando );
}
// Completely remove the data cache

0 comments on commit 6476b15

Please sign in to comment.
Something went wrong with that request. Please try again.