Commit ed7608d8 authored by David Serduke's avatar David Serduke

Fixed #1070 by converting all setAttribute() values to a string which is what...

Fixed #1070 by converting all setAttribute() values to a string which is what all browsers but IE did.  This will bring IE in line with the others and fix the bug.
parent 3ae5fbc1
...@@ -1042,7 +1042,8 @@ jQuery.extend({ ...@@ -1042,7 +1042,8 @@ jQuery.extend({
if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode ) if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
throw "type property can't be changed"; throw "type property can't be changed";
elem.setAttribute( name, value ); // convert the value to a string (all browsers do this but IE) see #1070
elem.setAttribute( name, "" + value );
} }
if ( jQuery.browser.msie && /href|src/.test( name ) && !jQuery.isXMLDoc( elem ) ) if ( jQuery.browser.msie && /href|src/.test( name ) && !jQuery.isXMLDoc( elem ) )
......
...@@ -276,7 +276,7 @@ test("attr(Hash)", function() { ...@@ -276,7 +276,7 @@ test("attr(Hash)", function() {
}); });
test("attr(String, Object)", function() { test("attr(String, Object)", function() {
expect(13); expect(16);
var div = $("div"); var div = $("div");
div.attr("foo", "bar"); div.attr("foo", "bar");
var pass = true; var pass = true;
...@@ -302,6 +302,14 @@ test("attr(String, Object)", function() { ...@@ -302,6 +302,14 @@ test("attr(String, Object)", function() {
$("#name").attr('maxLength', '10'); $("#name").attr('maxLength', '10');
ok( document.getElementById('name').maxLength == '10', 'Set maxlength attribute' ); ok( document.getElementById('name').maxLength == '10', 'Set maxlength attribute' );
// for #1070
$("#name").attr('someAttr', '0');
equals( $("#name").attr('someAttr'), '0', 'Set attribute to a string of "0"' );
$("#name").attr('someAttr', 0);
equals( $("#name").attr('someAttr'), 0, 'Set attribute to the number 0' );
$("#name").attr('someAttr', 1);
equals( $("#name").attr('someAttr'), 1, 'Set attribute to the number 1' );
reset(); reset();
var type = $("#check2").attr('type'); var type = $("#check2").attr('type');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment