Found a better detect for deleting an expando, added back in removeAttribute as it...
authorjeresig <jeresig@gmail.com>
Sat, 13 Feb 2010 11:57:58 +0000 (06:57 -0500)
committerjeresig <jeresig@gmail.com>
Sat, 13 Feb 2010 11:57:58 +0000 (06:57 -0500)
src/data.js
src/manipulation.js
src/support.js

index 0e243ca..b9986f5 100644 (file)
@@ -80,7 +80,10 @@ jQuery.extend({
                // Otherwise, we want to remove all of the element's data
                } else {
                        if ( jQuery.support.deleteExpando ) {
-                               delete elem[ expando ];
+                               delete elem[ jQuery.expando ];
+
+                       } else if ( elem.removeAttribute ) {
+                               elem.removeAttribute( jQuery.expando );
                        }
 
                        // Completely remove the data cache
index 4eb19ea..196f230 100644 (file)
@@ -569,7 +569,10 @@ jQuery.extend({
                                }
                                
                                if ( deleteExpando ) {
-                                       delete elem[ expando ];
+                                       delete elem[ jQuery.expando ];
+
+                               } else if ( elem.removeAttribute ) {
+                                       elem.removeAttribute( jQuery.expando );
                                }
                                
                                delete cache[ id ];
index c9bfdf0..5821301 100644 (file)
                delete window[ id ];
        }
 
+       // Test to see if it's possible to delete an expando from an element
+       // Fails in Internet Explorer
+       try {
+               delete script.test;
+       
+       } catch(e) {
+               jQuery.support.deleteExpando = false;
+       }
+
        root.removeChild( script );
 
        if ( div.attachEvent && div.fireEvent ) {
                jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
                document.body.removeChild( div ).style.display = 'none';
 
-               // Test to see if it's possible to delete an expando from an element
-               // Fails in Internet Explorer
-               try {
-                       div.test = 1;
-                       delete doc.test;
-       
-               } catch(e) {
-                       jQuery.support.deleteExpando = false;
-               }
-
                div = null;
        });