]> source.dussan.org Git - jquery.git/commitdiff
Correct the checkClone support test for Safari 5.1 and mobile webkits
authorTimmy Willison <timmywillisn@gmail.com>
Wed, 11 Sep 2013 19:29:15 +0000 (14:29 -0500)
committerTimmy Willison <timmywillisn@gmail.com>
Wed, 11 Sep 2013 19:29:15 +0000 (14:29 -0500)
src/manipulation/support.js

index 434dd48feca132dee37469858cef6ad7a1541cf0..e077399b033672c7fa6a31e6a2934633ceab7725 100644 (file)
@@ -3,26 +3,23 @@ define([
 ], function( support ){
 
 (function () {
-       var input = document.createElement( "input" ),
-               fragment = document.createDocumentFragment();
+       var input,
+               fragment = document.createDocumentFragment(),
+               div = fragment.appendChild( document.createElement( "div" ) );
 
-       input.type = "checkbox";
+       // #11217 - WebKit loses check when the name is after the checked attribute
+       div.innerHTML = "<input type='radio' checked name='t'/>";
+
+       // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
+       // old WebKit doesn't clone checked state correctly in fragments
+       support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
 
        // Make sure checked status is properly cloned
        // Support: IE9, IE10
+       input = document.createElement("input");
+       input.type = "checkbox";
        input.checked = true;
        support.noCloneChecked = input.cloneNode( true ).checked;
-
-       // #11217 - WebKit loses check when the name is after the checked attribute
-       input.checked = false;
-       input.setAttribute( "checked", "t" );
-       input.setAttribute( "name", "t" );
-
-       fragment.appendChild( input );
-
-       // Support: iOS 5.1, Android 4.x, Android 2.3
-       // old WebKit doesn't clone checked state correctly in fragments
-       support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
 })();
 
 return support;