Skip to content
Permalink
Browse files

Make setting .css(name, undefined) a no-op. Fixes #4388.

  • Loading branch information
jeresig committed Sep 28, 2010
1 parent 879799f commit 558d96b42aab634e26a66ff337a03ae89be5b33b
Showing with 14 additions and 1 deletion.
  1. +5 −0 src/css.js
  2. +9 −1 test/unit/css.js
@@ -20,6 +20,11 @@ var ralpha = /alpha\([^)]*\)/,
};

jQuery.fn.css = function( name, value ) {
// Setting 'undefined' is a no-op
if ( arguments.length === 2 && value === undefined ) {
return this;
}

return jQuery.access( this, name, value, true, function( elem, name, value ) {
return value !== undefined ?
jQuery.style( elem, name, value ) :
@@ -64,7 +64,8 @@ test("css(String|Hash)", function() {
});

test("css(String, Object)", function() {
expect(19);
expect(21);

ok( jQuery('#nothiddendiv').is(':visible'), 'Modifying CSS display: Assert element is visible');
jQuery('#nothiddendiv').css("display", 'none');
ok( !jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is hidden');
@@ -96,6 +97,13 @@ test("css(String, Object)", function() {
// opera sometimes doesn't update 'display' correctly, see #2037
jQuery("#t2037")[0].innerHTML = jQuery("#t2037")[0].innerHTML
equals( jQuery("#t2037 .hidden").css("display"), "none", "Make sure browser thinks it is hidden" );

var div = jQuery("#nothiddendiv"),
display = div.css("display"),
ret = div.css("display", undefined);

equals( ret, div, "Make sure setting undefined returns the original set." );
equals( div.css("display"), display, "Make sure that the display wasn't changed." );
});

if(jQuery.browser.msie) {

0 comments on commit 558d96b

Please sign in to comment.
You can’t perform that action at this time.