X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fmanipulation.js;h=3054eea1d3a259f756cc14e3a255f86dc4346bc2;hb=a44ec402771f6d622506f39073d0be260400dd21;hp=196f2307202eb98c34a820583126de627bcfb082;hpb=a6f3757d50f8be021505f4f7fa7201199e8b7f2d;p=jquery.git diff --git a/src/manipulation.js b/src/manipulation.js index 196f230..3054eea 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -1,3 +1,5 @@ +(function( jQuery ) { + var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, rleadingWhitespace = /^\s+/, rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g, @@ -205,7 +207,7 @@ jQuery.fn.extend({ return jQuery.clean([html.replace(rinlinejQuery, "") // Handle the case in IE 8 where action=/test/> self-closes a tag - .replace(/=([^="'>\s]+\/)>/g, '="$1">') + .replace(/\=([^="'>\s]+\/)>/g, '="$1">') .replace(rleadingWhitespace, "")], ownerDocument)[0]; } else { return this.cloneNode(true); @@ -357,16 +359,16 @@ jQuery.fn.extend({ } return this; - - function root( elem, cur ) { - return jQuery.nodeName(elem, "table") ? - (elem.getElementsByTagName("tbody")[0] || - elem.appendChild(elem.ownerDocument.createElement("tbody"))) : - elem; - } } }); +function root( elem, cur ) { + return jQuery.nodeName(elem, "table") ? + (elem.getElementsByTagName("tbody")[0] || + elem.appendChild(elem.ownerDocument.createElement("tbody"))) : + elem; +} + function cloneCopyEvent(orig, ret) { var i = 0; @@ -442,7 +444,7 @@ jQuery.each({ } else { for ( var i = 0, l = insert.length; i < l; i++ ) { var elems = (i > 0 ? this.clone(true) : this).get(); - jQuery.fn[ original ].apply( jQuery(insert[i]), elems ); + jQuery( insert[i] )[ original ]( elems ); ret = ret.concat( elems ); } @@ -530,7 +532,7 @@ jQuery.extend({ } if ( fragment ) { - for ( var i = 0; ret[i]; i++ ) { + for ( i = 0; ret[i]; i++ ) { if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); @@ -552,12 +554,16 @@ jQuery.extend({ deleteExpando = jQuery.support.deleteExpando; for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { + continue; + } + id = elem[ jQuery.expando ]; if ( id ) { data = cache[ id ]; - if ( data.events ) { + if ( data && data.events ) { for ( var type in data.events ) { if ( special[ type ] ) { jQuery.event.remove( elem, type ); @@ -580,3 +586,21 @@ jQuery.extend({ } } }); + +function evalScript( i, elem ) { + if ( elem.src ) { + jQuery.ajax({ + url: elem.src, + async: false, + dataType: "script" + }); + } else { + jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } +} + +})( jQuery );