Skip to content
Permalink
Browse files

Fixes #11938: Adding array getter method to jQuery.fn.css

  • Loading branch information...
mikesherov committed Dec 11, 2012
1 parent a918dc8 commit ef6d8779de9d5959eafc0b9706b90a585aaf7a26
Showing with 32 additions and 1 deletion.
  1. +1 −1 src/core.js
  2. +15 −0 src/css.js
  3. +16 −0 test/unit/css.js
@@ -798,7 +798,7 @@ jQuery.extend({
bulk = key == null;

// Sets many values
if ( key && typeof key === "object" ) {
if ( jQuery.type( key ) === "object" ) {
chainable = true;
for ( i in key ) {
jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
@@ -98,6 +98,21 @@ function showHide( elements, show ) {
jQuery.fn.extend({
css: function( name, value ) {
return jQuery.access( this, function( elem, name, value ) {
var styles, len,
map = {},
i = 0;

if ( jQuery.isArray( name ) ) {
styles = getStyles( elem );
len = name.length;

for ( ; i < len; i++ ) {
map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
}

return map;
}

return value !== undefined ?
jQuery.style( elem, name, value ) :
jQuery.css( elem, name );
@@ -257,6 +257,22 @@ test("css(String, Object)", function() {
ok( success, "Setting RGBA values does not throw Error" );
});

test( "css(Array)", function() {
expect( 2 );

var expectedMany = {
"overflow": "visible",
"width": "16px"
},
expectedSingle = {
"width": "16px"
},
elem = jQuery("<div></div>").appendTo("#qunit-fixture");

deepEqual( elem.css( expectedMany ).css([ "overflow", "width" ]), expectedMany, "Getting multiple element array" );
deepEqual( elem.css( expectedSingle ).css([ "width" ]), expectedSingle, "Getting single element array" );
});

if ( !jQuery.support.opacity ) {
test("css(String, Object) for MSIE", function() {
expect( 5 );

0 comments on commit ef6d877

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