diff --git a/src/attributes.js b/src/attributes.js index f1d2944e..ac94081c 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -481,7 +481,7 @@ boolHook = { propName = jQuery.propFix[ name ] || name; if ( propName in elem ) { // Only set the IDL specifically if it already exists on the element - elem[ propName ] = value; + elem[ propName ] = true; } elem.setAttribute( name, name.toLowerCase() ); diff --git a/test/unit/attributes.js b/test/unit/attributes.js index efeb46e4..79730026 100644 --- a/test/unit/attributes.js +++ b/test/unit/attributes.js @@ -150,7 +150,7 @@ test("attr(Hash)", function() { }); test("attr(String, Object)", function() { - expect(66); + expect(69); var div = jQuery("div").attr("foo", "bar"), fail = false; @@ -199,6 +199,11 @@ test("attr(String, Object)", function() { equals( jQuery("#check2").prop("checked"), false, "Set checked attribute" ); equals( jQuery("#check2").attr("checked"), undefined, "Set checked attribute" ); + jQuery("#check2").attr("checked", "checked"); + equal( document.getElementById("check2").checked, true, "Set checked attribute with 'checked'" ); + equal( jQuery("#check2").prop("checked"), true, "Set checked attribute" ); + equal( jQuery("#check2").attr("checked"), "checked", "Set checked attribute" ); + jQuery("#text1").prop("readOnly", true); equals( document.getElementById("text1").readOnly, true, "Set readonly attribute" ); equals( jQuery("#text1").prop("readOnly"), true, "Set readonly attribute" );