@@ 5017-5058 (lines=42) @@ | ||
5014 | } |
|
5015 | ||
5016 | jQuery.extend({ |
|
5017 | clone: function( elem, dataAndEvents, deepDataAndEvents ) { |
|
5018 | var i, l, srcElements, destElements, |
|
5019 | clone = elem.cloneNode( true ), |
|
5020 | inPage = jQuery.contains( elem.ownerDocument, elem ); |
|
5021 | ||
5022 | // Support: IE >= 9 |
|
5023 | // Fix Cloning issues |
|
5024 | if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && |
|
5025 | !jQuery.isXMLDoc( elem ) ) { |
|
5026 | ||
5027 | // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 |
|
5028 | destElements = getAll( clone ); |
|
5029 | srcElements = getAll( elem ); |
|
5030 | ||
5031 | for ( i = 0, l = srcElements.length; i < l; i++ ) { |
|
5032 | fixInput( srcElements[ i ], destElements[ i ] ); |
|
5033 | } |
|
5034 | } |
|
5035 | ||
5036 | // Copy the events from the original to the clone |
|
5037 | if ( dataAndEvents ) { |
|
5038 | if ( deepDataAndEvents ) { |
|
5039 | srcElements = srcElements || getAll( elem ); |
|
5040 | destElements = destElements || getAll( clone ); |
|
5041 | ||
5042 | for ( i = 0, l = srcElements.length; i < l; i++ ) { |
|
5043 | cloneCopyEvent( srcElements[ i ], destElements[ i ] ); |
|
5044 | } |
|
5045 | } else { |
|
5046 | cloneCopyEvent( elem, clone ); |
|
5047 | } |
|
5048 | } |
|
5049 | ||
5050 | // Preserve script evaluation history |
|
5051 | destElements = getAll( clone, "script" ); |
|
5052 | if ( destElements.length > 0 ) { |
|
5053 | setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); |
|
5054 | } |
|
5055 | ||
5056 | // Return the cloned set |
|
5057 | return clone; |
|
5058 | }, |
|
5059 | ||
5060 | buildFragment: function( elems, context, scripts, selection ) { |
|
5061 | var elem, tmp, tag, wrap, contains, j, |
@@ 5322-5362 (lines=41) @@ | ||
5319 | return html.replace( rxhtmlTag, "<$1></$2>" ); |
|
5320 | }, |
|
5321 | ||
5322 | clone: function( elem, dataAndEvents, deepDataAndEvents ) { |
|
5323 | var i, l, srcElements, destElements, |
|
5324 | clone = elem.cloneNode( true ), |
|
5325 | inPage = jQuery.contains( elem.ownerDocument, elem ); |
|
5326 | ||
5327 | // Fix IE cloning issues |
|
5328 | if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && |
|
5329 | !jQuery.isXMLDoc( elem ) ) { |
|
5330 | ||
5331 | // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 |
|
5332 | destElements = getAll( clone ); |
|
5333 | srcElements = getAll( elem ); |
|
5334 | ||
5335 | for ( i = 0, l = srcElements.length; i < l; i++ ) { |
|
5336 | fixInput( srcElements[ i ], destElements[ i ] ); |
|
5337 | } |
|
5338 | } |
|
5339 | ||
5340 | // Copy the events from the original to the clone |
|
5341 | if ( dataAndEvents ) { |
|
5342 | if ( deepDataAndEvents ) { |
|
5343 | srcElements = srcElements || getAll( elem ); |
|
5344 | destElements = destElements || getAll( clone ); |
|
5345 | ||
5346 | for ( i = 0, l = srcElements.length; i < l; i++ ) { |
|
5347 | cloneCopyEvent( srcElements[ i ], destElements[ i ] ); |
|
5348 | } |
|
5349 | } else { |
|
5350 | cloneCopyEvent( elem, clone ); |
|
5351 | } |
|
5352 | } |
|
5353 | ||
5354 | // Preserve script evaluation history |
|
5355 | destElements = getAll( clone, "script" ); |
|
5356 | if ( destElements.length > 0 ) { |
|
5357 | setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); |
|
5358 | } |
|
5359 | ||
5360 | // Return the cloned set |
|
5361 | return clone; |
|
5362 | }, |
|
5363 | ||
5364 | cleanData: function( elems ) { |
|
5365 | var data, elem, type, |