From: jeresig <jeresig@gmail.com>
Date: Sat, 13 Feb 2010 11:57:58 +0000 (-0500)
Subject: Found a better detect for deleting an expando, added back in removeAttribute as it... 
X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=a6f3757d50f8be021505f4f7fa7201199e8b7f2d;p=jquery.git

Found a better detect for deleting an expando, added back in removeAttribute as it does work in IE.
---

diff --git a/src/data.js b/src/data.js
index 0e243ca..b9986f5 100644
--- a/src/data.js
+++ b/src/data.js
@@ -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
diff --git a/src/manipulation.js b/src/manipulation.js
index 4eb19ea..196f230 100644
--- a/src/manipulation.js
+++ b/src/manipulation.js
@@ -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 ];
diff --git a/src/support.js b/src/support.js
index c9bfdf0..5821301 100644
--- a/src/support.js
+++ b/src/support.js
@@ -81,6 +81,15 @@
 		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 ) {
@@ -112,16 +121,6 @@
 		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;
 	});