git.asbjorn.biz
/
jquery.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
879799f
)
Make setting .css(name, undefined) a no-op. Fixes #4388.
author
John Resig
<jeresig@gmail.com>
Tue, 28 Sep 2010 15:53:09 +0000
(08:53 -0700)
committer
John Resig
<jeresig@gmail.com>
Tue, 28 Sep 2010 15:53:09 +0000
(08:53 -0700)
src/css.js
patch
|
blob
|
history
test/unit/css.js
patch
|
blob
|
history
diff --git
a/src/css.js
b/src/css.js
index
07ff686
..
61cdc48
100644
(file)
--- a/
src/css.js
+++ b/
src/css.js
@@
-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 value !== undefined ?
jQuery.style( elem, name, value ) :
return jQuery.access( this, name, value, true, function( elem, name, value ) {
return value !== undefined ?
jQuery.style( elem, name, value ) :
diff --git
a/test/unit/css.js
b/test/unit/css.js
index
0e91ae1
..
24aba79
100644
(file)
--- a/
test/unit/css.js
+++ b/
test/unit/css.js
@@
-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');
jQuery('#nothiddendiv').css("display", 'none');
ok( !jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is hidden');
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" );
// 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) {
});
if(jQuery.browser.msie) {