X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fcore.js;h=140208d16cf387759198ca1ef86ec75fc77aed5f;hb=6476b15f1a6c3651c18e354d41ee0ab9b9a23e16;hp=3fb59f8d5e52f68303023c2549c7ab895318f10b;hpb=139b03af7c2d7e70a26591424f82f09a02132198;p=jquery.git diff --git a/src/core.js b/src/core.js index 3fb59f8..140208d 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,18 +507,22 @@ 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 if ( name ) { - // Remove the section of cache data - delete jQuery.cache[ id ][ name ]; - - // If we've removed all the data, remove the element's cache - name = ""; - for ( name in jQuery.cache[ id ] ) break; - if ( !name ) - jQuery.removeData( elem ); + if ( jQuery.cache[ id ] ) { + // Remove the section of cache data + delete jQuery.cache[ id ][ name ]; + + // If we've removed all the data, remove the element's cache + name = ""; + for ( name in jQuery.cache[ id ] ) break; + if ( !name ) + jQuery.removeData( elem ); + } // Otherwise, we want to remove all of the element's data } else { @@ -526,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 @@ -1018,7 +1025,7 @@ jQuery.each({ next: "jQuery.nth(a,2,'nextSibling')", prev: "jQuery.nth(a,2,'previousSibling')", nextAll: "jQuery.dir(a,'nextSibling')", - prevtAll: "jQuery.dir(a,'previousSibling')", + prevAll: "jQuery.dir(a,'previousSibling')", siblings: "jQuery.sibling(a.parentNode.firstChild,a)", children: "jQuery.sibling(a.firstChild)", contents: "jQuery.nodeName(a,'iframe')?a.contentDocument||a.contentWindow.document:jQuery.makeArray(a.childNodes)"