@@ -24,7 +24,7 @@ var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figca
24
24
rhtml = / < | & # ? \w + ; / ,
25
25
rnoInnerhtml = / < (?: s c r i p t | s t y l e ) / i,
26
26
rnocache = / < (?: s c r i p t | o b j e c t | e m b e d | o p t i o n | s t y l e ) / i,
27
- rnoshimcache = new RegExp ( "<(?:" + nodeNames + ")" , "i" ) ,
27
+ rnoshimcache = new RegExp ( "<(?:" + nodeNames + ")[\\s/>] " , "i" ) ,
28
28
// checked="checked" or checked
29
29
rchecked = / c h e c k e d \s * (?: [ ^ = ] | = \s * .c h e c k e d .) / i,
30
30
rscriptType = / \/ ( j a v a | e c m a ) s c r i p t / i,
@@ -461,7 +461,7 @@ function cloneFixAttributes( src, dest ) {
461
461
// Event data gets referenced instead of copied if the expando
462
462
// gets copied too
463
463
dest . removeAttribute ( jQuery . expando ) ;
464
-
464
+
465
465
// Clear flags for bubbling special change/submit events, they must
466
466
// be reattached when the newly cloned events are first activated
467
467
dest . removeAttribute ( "_submit_attached" ) ;
@@ -590,7 +590,7 @@ jQuery.extend({
590
590
destElements ,
591
591
i ,
592
592
// IE<=8 does not properly clone detached, unknown element nodes
593
- clone = jQuery . support . html5Clone || ! rnoshimcache . test ( "<" + elem . nodeName ) ?
593
+ clone = jQuery . support . html5Clone || jQuery . isXMLDoc ( elem ) || ! rnoshimcache . test ( "<" + elem . nodeName + ">" ) ?
594
594
elem . cloneNode ( true ) :
595
595
shimCloneNode ( elem ) ;
596
596
0 commit comments