From 2942be780f3f243dbf82ca012bba284846afee13 Mon Sep 17 00:00:00 2001 From: timmywil Date: Fri, 22 Apr 2011 00:27:52 -0400 Subject: [PATCH] Combine the support tests for radioValue and appendChecked --- src/attributes.js | 1 + src/support.js | 18 ++++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/attributes.js b/src/attributes.js index a296ad11..46582d8b 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 8f2beebb..178bddf0 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