Commit 558d96b4 authored by John Resig's avatar John Resig

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

parent 879799fe
...@@ -20,6 +20,11 @@ var ralpha = /alpha\([^)]*\)/, ...@@ -20,6 +20,11 @@ var ralpha = /alpha\([^)]*\)/,
}; };
jQuery.fn.css = function( name, value ) { 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 jQuery.access( this, name, value, true, function( elem, name, value ) {
return value !== undefined ? return value !== undefined ?
jQuery.style( elem, name, value ) : jQuery.style( elem, name, value ) :
......
...@@ -64,7 +64,8 @@ test("css(String|Hash)", function() { ...@@ -64,7 +64,8 @@ test("css(String|Hash)", function() {
}); });
test("css(String, Object)", function() { test("css(String, Object)", function() {
expect(19); expect(21);
ok( jQuery('#nothiddendiv').is(':visible'), 'Modifying CSS display: Assert element is visible'); ok( jQuery('#nothiddendiv').is(':visible'), 'Modifying CSS display: Assert element is visible');
jQuery('#nothiddendiv').css("display", 'none'); jQuery('#nothiddendiv').css("display", 'none');
ok( !jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is hidden'); ok( !jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is hidden');
...@@ -96,6 +97,13 @@ test("css(String, Object)", function() { ...@@ -96,6 +97,13 @@ test("css(String, Object)", function() {
// opera sometimes doesn't update 'display' correctly, see #2037 // opera sometimes doesn't update 'display' correctly, see #2037
jQuery("#t2037")[0].innerHTML = jQuery("#t2037")[0].innerHTML jQuery("#t2037")[0].innerHTML = jQuery("#t2037")[0].innerHTML
equals( jQuery("#t2037 .hidden").css("display"), "none", "Make sure browser thinks it is hidden" ); 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) { if(jQuery.browser.msie) {
......
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