X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fmanipulation.js;h=23463d16e22e3dd900b3a9860fd2e0c73060e188;hb=323270f6dcc4fdbef0e6d81f5e37b315fbffc599;hp=59edcbcefdd5f46e3e036377036b894c62c8e50f;hpb=6618ff0b0abe38a0914d8afe0a2b271c977adf6b;p=jquery.git diff --git a/src/manipulation.js b/src/manipulation.js index 59edcbc..23463d1 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -189,11 +189,13 @@ jQuery.fn.extend({ (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) && !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { + value = value.replace(rxhtmlTag, fcloseTag); + try { for ( var i = 0, l = this.length; i < l; i++ ) { // Remove element nodes and prevent memory leaks if ( this[i].nodeType === 1 ) { - cleanData( this[i].getElementsByTagName("*") ); + jQuery.cleanData( this[i].getElementsByTagName("*") ); this[i].innerHTML = value; } } @@ -373,8 +375,8 @@ jQuery.each({ remove: function( selector, keepData ) { if ( !selector || jQuery.filter( selector, [ this ] ).length ) { if ( !keepData && this.nodeType === 1 ) { - cleanData( this.getElementsByTagName("*") ); - cleanData( [ this ] ); + jQuery.cleanData( this.getElementsByTagName("*") ); + jQuery.cleanData( [ this ] ); } if ( this.parentNode ) { @@ -386,7 +388,7 @@ jQuery.each({ empty: function() { // Remove element nodes and prevent memory leaks if ( this.nodeType === 1 ) { - cleanData( this.getElementsByTagName("*") ); + jQuery.cleanData( this.getElementsByTagName("*") ); } // Remove any remaining nodes @@ -493,13 +495,12 @@ jQuery.extend({ } return ret; - } -}); - -function cleanData( elems ) { - for ( var i = 0, elem, id; (elem = elems[i]) != null; i++ ) { - if ( !jQuery.noData[elem.nodeName.toLowerCase()] && (id = elem[expando]) ) { - delete jQuery.cache[ id ]; + }, + + cleanData: function( elems ) { + for ( var i = 0, elem, id; (elem = elems[i]) != null; i++ ) { + jQuery.event.remove( elem ); + jQuery.removeData( elem ); } } -} +});