aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2007-09-10 18:39:16 +0000
committerJohn Resig <jeresig@gmail.com>2007-09-10 18:39:16 +0000
commit6476b15f1a6c3651c18e354d41ee0ab9b9a23e16 (patch)
treef3a703de6e73c152e770db4c385a2d372010c4bc
parent899ee03d37b6cbe6d0e8abc497026d611325cfba (diff)
downloadjquery-6476b15f1a6c3651c18e354d41ee0ab9b9a23e16.tar.gz
jquery-6476b15f1a6c3651c18e354d41ee0ab9b9a23e16.zip
Made the expando code attach properties to an anonymous object, as opposed to the global window object, and fixed a bug where .removeAttribute() tried to fire even if it didn't exist.
-rw-r--r--src/core.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core.js b/src/core.js
index 969f3d40b..140208d16 100644
--- a/src/core.js
+++ b/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