]> source.dussan.org Git - jquery.git/commitdiff
Revert "Fix #12127. IE9/10 checks fall off the box on clone. Close gh-873."
authorDave Methvin <dave.methvin@gmail.com>
Wed, 25 Jul 2012 18:38:55 +0000 (14:38 -0400)
committerDave Methvin <dave.methvin@gmail.com>
Wed, 25 Jul 2012 18:38:55 +0000 (14:38 -0400)
This reverts commit 569d064fc93459695cb6eb6fd09e5ba3fda62f03.

Causing test fails in Safari, IE6, and IE7.

AUTHORS.txt
src/manipulation.js
src/support.js
test/unit/manipulation.js

index 51200abaf326cf9e6fa4e58848745e62b1e53c52..774d11b320e31d5fe2fcda676cb10b23dabba00b 100644 (file)
@@ -129,4 +129,3 @@ David Benjamin <davidben@mit.edu>
 Uri Gilad <antishok@gmail.com>
 Chris Faulkner <thefaulkner@gmail.com>
 Elijah Manor <elijah.manor@gmail.com>
-Daniel Chatfield <chatfielddaniel@googlemail.com>
index fa6083c095bc2527bd2f0272e02126469dfe3b13..212eaf6bb229be128f811acf4c2e1a27f32a3cf6 100644 (file)
@@ -455,7 +455,9 @@ function cloneFixAttributes( src, dest ) {
                // IE6-8 fails to persist the checked state of a cloned checkbox
                // or radio button. Worse, IE6-7 fail to give the cloned element
                // a checked appearance if the defaultChecked value isn't also set
-               dest.defaultChecked = dest.checked = src.checked;
+               if ( src.checked ) {
+                       dest.defaultChecked = dest.checked = src.checked;
+               }
 
                // IE6-7 get confused and end up setting the value of a cloned
                // checkbox/radio button to an empty string instead of "on"
index 5bedb4dcbd2002566a42171302b8bc704e49beca..e4a8b7c83cfaa83732413132083c4c982c249db4 100644 (file)
@@ -15,7 +15,7 @@ jQuery.support = (function() {
 
        // Preliminary tests
        div.setAttribute( "className", "t" );
-       div.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox' checked='checked'/>";
+       div.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
 
        all = div.getElementsByTagName("*");
        a = div.getElementsByTagName("a")[ 0 ];
@@ -96,8 +96,8 @@ jQuery.support = (function() {
        };
 
        // Make sure checked status is properly cloned
-       input.checked = false;
-       support.noCloneChecked = !input.cloneNode( true ).checked;
+       input.checked = true;
+       support.noCloneChecked = input.cloneNode( true ).checked;
 
        // Make sure that the options inside disabled selects aren't marked as disabled
        // (WebKit marks them as disabled)
index e2b00a6626bd25e25a941c712b8e05fb8b5ec802..31426e73986694eba1aa67f5544f47cc2ffe005b 100644 (file)
@@ -1895,14 +1895,3 @@ test("html() - script exceptions bubble (#11743)", function() {
                ok( false, "error ignored" );
        }, "exception bubbled from remote script" );
 });
-
-test("checked state is cloned with clone()", function(){
-       expect(2);
-
-       var elem = jQuery.parseHTML('<input type="checkbox" checked="checked"/>')[0];
-       elem.checked = false;
-       equal( jQuery(elem).clone().attr('id','clone')[0].checked, false, 'Checked false state correctly cloned' );
-       elem = jQuery.parseHTML('<input type="checkbox"/>')[0];
-       elem.checked = true;
-       equal( jQuery(elem).clone().attr('id','clone')[0].checked, true, 'Checked true state correctly cloned' );
-});