Removed the trailing endline from the version.
[jquery.git] / src / attributes.js
index c4c7500..0edf218 100644 (file)
@@ -1,34 +1,6 @@
 jQuery.fn.extend({
        attr: function( name, value ) {
-               var elem, options, isFunction = jQuery.isFunction(value);
-
-               if ( typeof name === "string" ) {     // A single attribute
-                       if ( value === undefined ) {        // Query it on first element
-                               return this.length ?
-                                       jQuery.attr( this[0], name ) :
-                                       null;
-                       } else {                            // Set it on all elements
-                               for ( var i = 0, l = this.length; i < l; i++ ) {
-                                       elem = this[i];
-                                       if ( isFunction )
-                                               value = value.call(elem,i);
-                                       jQuery.attr( elem, name, value );
-                               }
-                       }
-               } else {                              // Multiple attributes to set on all
-                       options = name;
-                       for ( var i = 0, l = this.length; i < l; i++ ) {
-                               elem = this[i];
-                               for ( name in options ) {
-                                       value = options[name];
-                                       if ( jQuery.isFunction(value) )
-                                               value = value.call(elem,i);
-                                       jQuery.attr( elem, name, value );
-                               }
-                       }
-               }
-
-               return this;
+               return access(this, name, value, true, jQuery.attr);
        },
 
        addClass: function( value ) {
@@ -213,6 +185,10 @@ jQuery.extend({
                if (!elem || elem.nodeType == 3 || elem.nodeType == 8)
                        return undefined;
 
+               if ( name in jQuery.fn && name !== "attr" ) {
+                       return jQuery(elem)[name](value);
+               }
+               
                var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
                        // Whether we are setting (or getting)
                        set = value !== undefined;