From 282c044d64e366d1bcb76d7d4f49c54098c6547f Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Thu, 6 Dec 2012 21:17:27 -0500 Subject: [PATCH] Fix #13013. Move jQuery.buildFragment() to compat plugin. --- src/core.js | 3 ++- src/manipulation.js | 23 ++++------------------- 2 files changed, 6 insertions(+), 20 deletions(-) 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", -- 2.39.5