From: timmywil Date: Fri, 22 Apr 2011 04:27:52 +0000 (-0400) Subject: Combine the support tests for radioValue and appendChecked X-Git-Tag: 1.6rc1~10 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2942be780f3f243dbf82ca012bba284846afee13;p=jquery.git Combine the support tests for radioValue and appendChecked --- diff --git a/src/attributes.js b/src/attributes.js index a296ad112..46582d8b0 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -363,6 +363,7 @@ jQuery.extend({ } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { // Setting the type on a radio button after the value resets the value in IE6-9 // Reset value to it's default in case type is set after value + // This is for element creation var val = elem.getAttribute("value"); elem.setAttribute( "type", value ); if ( val ) { diff --git a/src/support.js b/src/support.js index 8f2beebbc..178bddf05 100644 --- a/src/support.js +++ b/src/support.js @@ -115,13 +115,15 @@ jQuery.support = (function() { div.cloneNode( true ).fireEvent( "onclick" ); } + // Check if a radio maintains it's value + // after being appended to the DOM input = document.createElement("input"); input.value = "t"; input.setAttribute("type", "radio"); support.radioValue = input.value === "t"; - div.innerHTML = ""; - + input.setAttribute("checked", "checked"); + div.appendChild( input ); fragment = document.createDocumentFragment(); fragment.appendChild( div.firstChild ); @@ -148,6 +150,10 @@ jQuery.support = (function() { body.appendChild( div ); document.documentElement.appendChild( body ); + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + support.boxModel = div.offsetWidth === 2; if ( "zoom" in div.style ) { @@ -186,14 +192,6 @@ jQuery.support = (function() { support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); div.innerHTML = ""; - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM - input = document.createElement("input"); - input.setAttribute("type", "checkbox"); - input.checked = true; - div.appendChild( input ); - support.appendChecked = input.checked; - // Check if div with explicit width and no margin-right incorrectly // gets computed margin-right based on width of container. For more // info see bug #3333