aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortimmywil <tim.willison@thisismedium.com>2011-05-13 13:39:38 -0400
committertimmywil <tim.willison@thisismedium.com>2011-05-13 13:39:38 -0400
commitbc82ff0ff9faba5e7e8c3e40f1351fb5e3fc1a41 (patch)
tree7f3e2c9eb90e281b3ffeaffece269c6d09217ddc
parent6f676e692d48b4f979ba1dfc5d10f3f16954b381 (diff)
downloadjquery-bc82ff0ff9faba5e7e8c3e40f1351fb5e3fc1a41.tar.gz
jquery-bc82ff0ff9faba5e7e8c3e40f1351fb5e3fc1a41.zip
Make sure setting boolean attributes to the same name sets the property to a boolean type
-rw-r--r--src/attributes.js2
-rw-r--r--test/unit/attributes.js7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/attributes.js b/src/attributes.js
index f1d2944e2..ac94081c6 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 efeb46e48..79730026a 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" );