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

@timmywil timmywil replied Jul 5, 2012

And we all sigh together.

@dmethvin

This comment has been minimized.

Copy link
Member Author

@dmethvin dmethvin replied Jul 5, 2012

Minus 36, timmy, MINUS 36!

@timmywil

This comment has been minimized.

Copy link
Member

@timmywil timmywil replied Jul 5, 2012

haha

@scottgonzalez

This comment has been minimized.

Copy link
Member

@scottgonzalez scottgonzalez replied Jul 5, 2012

Who needs chaining when you have objects?

@dmethvin

This comment has been minimized.

Copy link
Member Author

@dmethvin dmethvin replied Jul 5, 2012

@scottgonzalez, or vice-versa!

Oh geez, that reminds me....

@dmethvin

This comment has been minimized.

Copy link
Member Author

@dmethvin dmethvin 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.