]> source.dussan.org Git - jquery.git/commitdiff
Revert back to always setting the attribute to empty string before removal. Fixes...
authortimmywil <timmywillisn@gmail.com>
Thu, 25 Aug 2011 19:33:38 +0000 (15:33 -0400)
committertimmywil <timmywillisn@gmail.com>
Thu, 25 Aug 2011 19:33:54 +0000 (15:33 -0400)
src/attributes.js
test/unit/attributes.js

index d92729ad23b242b68402cccb09111ceccb4fbcda..dd985b4940538a18152eb75efac13ca4874474a7 100644 (file)
@@ -366,14 +366,9 @@ jQuery.extend({
                var propName;
                if ( elem.nodeType === 1 ) {
                        name = jQuery.attrFix[ name ] || name;
-               
-                       if ( jQuery.support.getSetAttribute ) {
-                               // Use removeAttribute in browsers that support it
-                               elem.removeAttribute( name );
-                       } else {
-                               jQuery.attr( elem, name, "" );
-                               elem.removeAttributeNode( elem.getAttributeNode( name ) );
-                       }
+
+                       jQuery.attr( elem, name, "" );
+                       elem.removeAttribute( name );
 
                        // Set corresponding property to false for boolean attributes
                        if ( rboolean.test( name ) && (propName = jQuery.propFix[ name ] || name) in elem ) {
index eaaaa62356aee5f86a5e24f70f8c90aceada35ad..2af36f1c27db1de5193fbd9cd72f81909fce211b 100644 (file)
@@ -451,17 +451,18 @@ test("attr('tabindex', value)", function() {
 });
 
 test("removeAttr(String)", function() {
-       expect(7);
-       equals( jQuery("#mark").removeAttr( "class" )[0].className, "", "remove class" );
-       equals( jQuery("#form").removeAttr("id").attr("id"), undefined, "Remove id" );
-       equals( jQuery("#foo").attr("style", "position:absolute;").removeAttr("style").attr("style"), undefined, "Check removing style attribute" );
-       equals( jQuery("#form").attr("style", "position:absolute;").removeAttr("style").attr("style"), undefined, "Check removing style attribute on a form" );
-       equals( jQuery("#fx-test-group").attr("height", "3px").removeAttr("height").css("height"), "1px", "Removing height attribute has no effect on height set with style attribute" );
+       expect(8);
+       equal( jQuery("#mark").removeAttr( "class" )[0].className, "", "remove class" );
+       equal( jQuery("#form").removeAttr("id").attr("id"), undefined, "Remove id" );
+       equal( jQuery("#foo").attr("style", "position:absolute;").removeAttr("style").attr("style"), undefined, "Check removing style attribute" );
+       equal( jQuery("#form").attr("style", "position:absolute;").removeAttr("style").attr("style"), undefined, "Check removing style attribute on a form" );
+       equal( jQuery("<div style='position: absolute'></div>").appendTo("#foo").removeAttr("style").prop("style").cssText, "", "Check removing style attribute (#9699 Webkit)" );
+       equal( jQuery("#fx-test-group").attr("height", "3px").removeAttr("height").css("height"), "1px", "Removing height attribute has no effect on height set with style attribute" );
 
        jQuery("#check1").removeAttr("checked").prop("checked", true).removeAttr("checked");
-       equals( document.getElementById("check1").checked, false, "removeAttr sets boolean properties to false" );
+       equal( document.getElementById("check1").checked, false, "removeAttr sets boolean properties to false" );
        jQuery("#text1").prop("readOnly", true).removeAttr("readonly");
-       equals( document.getElementById("text1").readOnly, false, "removeAttr sets boolean properties to false" );
+       equal( document.getElementById("text1").readOnly, false, "removeAttr sets boolean properties to false" );
 });
 
 test("prop(String, Object)", function() {