From: Dave Methvin Date: Fri, 7 Dec 2012 02:17:27 +0000 (-0500) Subject: Fix #13013. Move jQuery.buildFragment() to compat plugin. X-Git-Tag: 1.9.0b1~46 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=282c044d64e366d1bcb76d7d4f49c54098c6547f;p=jquery.git Fix #13013. Move jQuery.buildFragment() to compat plugin. --- diff --git a/src/core.js b/src/core.js index 22b56ce5d..d748d0d21 100644 --- a/src/core.js +++ b/src/core.js @@ -493,7 +493,8 @@ jQuery.extend({ return [ context.createElement( parsed[1] ) ]; } - parsed = jQuery.buildFragment( [ data ], context, scripts ); + parsed = context.createDocumentFragment(); + jQuery.clean( [ data ], context, parsed, scripts ); if ( scripts ) { jQuery( scripts ).remove(); } diff --git a/src/manipulation.js b/src/manipulation.js index f07d6bbfb..e3026426d 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -292,7 +292,7 @@ jQuery.fn.extend({ // Flatten any nested arrays args = core_concat.apply( [], args ); - var fragment, first, results, scripts, hasScripts, iNoClone, node, doc, + var fragment, first, scripts, hasScripts, iNoClone, node, doc, i = 0, l = this.length, value = args[0], @@ -310,8 +310,9 @@ jQuery.fn.extend({ } if ( this[0] ) { - results = jQuery.buildFragment( args, this ); - fragment = results; + doc = this[0].ownerDocument; + fragment = doc.createDocumentFragment(); + jQuery.clean( args, doc, fragment ); first = fragment.firstChild; if ( fragment.childNodes.length === 1 ) { @@ -512,22 +513,6 @@ function cloneFixAttributes( src, dest ) { dest.removeAttribute( jQuery.expando ); } -jQuery.buildFragment = function( args, context, scripts ) { - var fragment; - - // Set context from what may come in as undefined or a jQuery collection or a node - // Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 & - // also doubles as fix for #8950 where plain objects caused createDocumentFragment exception - context = context || document; - context = !context.nodeType && context[0] || context; - context = context.ownerDocument || context; - - fragment = context.createDocumentFragment(); - jQuery.clean( args, context, fragment, scripts ); - - return fragment; -}; - jQuery.each({ appendTo: "append", prependTo: "prepend",