From 2795a8390c1986200bf4e00158dbf3ad2da8d898 Mon Sep 17 00:00:00 2001 From: "Rick Waldron waldron.rick@gmail.com" Date: Fri, 23 Mar 2012 11:31:53 -0400 Subject: [PATCH] Ensure innerHTML of src/dest clone nodes is correctly set. Fixes #10324 Signed-off-by: Rick Waldron waldron.rick@gmail.com --- src/manipulation.js | 7 +++++++ test/index.html | 1 + 2 files changed, 8 insertions(+) diff --git a/src/manipulation.js b/src/manipulation.js index 2a3757904..9b9872a5c 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -435,6 +435,13 @@ function cloneFixAttributes( src, dest ) { if ( nodeName === "object" ) { dest.outerHTML = src.outerHTML; + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) { + dest.innerHTML = src.innerHTML; + } } else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) { // IE6-8 fails to persist the checked state of a cloned checkbox // or radio button. Worse, IE6-7 fail to give the cloned element diff --git a/test/index.html b/test/index.html index c1320ccad..fa52c0468 100644 --- a/test/index.html +++ b/test/index.html @@ -135,6 +135,7 @@ + ​ -- 2.39.5