Make setting .css(name, undefined) a no-op. Fixes #4388.
This commit is contained in:
parent
879799fe95
commit
558d96b42a
2 changed files with 14 additions and 1 deletions
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue