Skip to content
Permalink
Browse files

Fix #12026. Let props in $(html, props) be any jQuery.fn method.

Closes gh-839.
  • Loading branch information...
dmethvin committed Jul 5, 2012
1 parent 1e02761 commit cdd5132dcc02d4a3ff8df390677ffb8ff4b5a477
Showing with 13 additions and 16 deletions.
  1. +1 −12 src/attributes.js
  2. +12 −4 test/unit/core.js
@@ -281,17 +281,6 @@ jQuery.extend({
}
},

attrFn: {
val: true,
css: true,
html: true,
text: true,
data: true,
width: true,
height: true,
offset: true
},

attr: function( elem, name, value, pass ) {
var ret, hooks, notxml,
nType = elem.nodeType;
@@ -301,7 +290,7 @@ jQuery.extend({
return;
}

if ( pass && name in jQuery.attrFn ) {
if ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) {
return jQuery( elem )[ name ]( value );
}

@@ -35,20 +35,24 @@ test("jQuery()", function() {
"id": "test3"
};

// The $(html, props) signature can stealth-call any $.fn method, check for a
// few here but beware of modular builds where these methods may be excluded.
if ( jQuery.fn.width ) {
expected++;
attrObj["width"] = 10;
}

if ( jQuery.fn.offset ) {
expected++;
attrObj["offset"] = { "top": 1, "left": 1 };
}

if ( jQuery.css ) {
if ( jQuery.fn.css ) {
expected += 2;
attrObj["css"] = { "paddingLeft": 1, "paddingRight": 1 };
}
if ( jQuery.fn.attr ) {
expected++;
attrObj.attr = { "desired": "very" };
}

expect( expected );

@@ -107,11 +111,15 @@ test("jQuery()", function() {
equal( elem[0].style.top, "1px", "jQuery() quick setter offset");
}

if ( jQuery.css ) {
if ( jQuery.fn.css ) {
equal( elem[0].style.paddingLeft, "1px", "jQuery quick setter css");
equal( elem[0].style.paddingRight, "1px", "jQuery quick setter css");
}

if ( jQuery.fn.attr ) {
equal( elem[0].getAttribute("desired"), "very", "jQuery quick setter attr");
}

equal( elem[0].childNodes.length, 1, "jQuery quick setter text");
equal( elem[0].firstChild.nodeValue, "test", "jQuery quick setter text");
equal( elem[0].className, "test2", "jQuery() quick setter class");

6 comments on commit cdd5132

@timmywil

This comment has been minimized.

Copy link
Member

replied Jul 5, 2012

And we all sigh together.

@dmethvin

This comment has been minimized.

Copy link
Member Author

replied Jul 5, 2012

Minus 36, timmy, MINUS 36!

@timmywil

This comment has been minimized.

Copy link
Member

replied Jul 5, 2012

haha

@scottgonzalez

This comment has been minimized.

Copy link
Member

replied Jul 5, 2012

Who needs chaining when you have objects?

@dmethvin

This comment has been minimized.

Copy link
Member Author

replied Jul 5, 2012

@scottgonzalez, or vice-versa!

Oh geez, that reminds me....

@dmethvin

This comment has been minimized.

Copy link
Member Author

replied Jul 6, 2012

Saved another 12 with that event.js whack, so minus 48.

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