From: jeresig 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/?p=jquery.git;a=commitdiff_plain;h=a6f3757d50f8be021505f4f7fa7201199e8b7f2d 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; });