mirror of
https://github.com/jquery/jquery.git
synced 2024-10-05 11:34:18 +00:00
Fix #11356. Avoid hoarding elements in DocumentFragments.
This commit is contained in:
parent
5cae50e66e
commit
1ff284d2cd
@ -676,7 +676,9 @@ jQuery.extend({
|
|||||||
var tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(),
|
var tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(),
|
||||||
wrap = wrapMap[ tag ] || wrapMap._default,
|
wrap = wrapMap[ tag ] || wrapMap._default,
|
||||||
depth = wrap[0],
|
depth = wrap[0],
|
||||||
div = context.createElement("div");
|
div = context.createElement("div"),
|
||||||
|
safeChildNodes = safeFragment.childNodes,
|
||||||
|
remove;
|
||||||
|
|
||||||
// Append wrapper element to unknown element safe doc fragment
|
// Append wrapper element to unknown element safe doc fragment
|
||||||
if ( context === document ) {
|
if ( context === document ) {
|
||||||
@ -721,6 +723,17 @@ jQuery.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
elem = div.childNodes;
|
elem = div.childNodes;
|
||||||
|
|
||||||
|
// Clear elements from DocumentFragment (safeFragment or otherwise)
|
||||||
|
// to avoid hoarding elements. Fixes #11356
|
||||||
|
if ( div ) {
|
||||||
|
div.parentNode.removeChild( div );
|
||||||
|
remove = safeChildNodes[ safeChildNodes.length - 1 ];
|
||||||
|
|
||||||
|
if ( remove && remove.parentNode ) {
|
||||||
|
remove.parentNode.removeChild( remove );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user