});
jQuery.extend({
+ attrFn: {
+ val: true,
+ addClass: true,
+ css: true,
+ html: true,
+ text: true,
+ append: true,
+ prepend: true,
+ data: true,
+ width: true,
+ height: true,
+ offset: true
+ },
+
attr: function( elem, name, value ) {
// don't set attributes on text and comment nodes
if (!elem || elem.nodeType == 3 || elem.nodeType == 8) {
return undefined;
}
- if ( name in jQuery.fn && name !== "attr" ) {
+
+ if ( name in jQuery.attrFn ) {
return jQuery(elem)[name](value);
}
jQuery.fn[ name ] = function( fn ) {
return fn ? this.bind( name, fn ) : this.trigger( name );
};
+
+ if ( jQuery.fnAttr ) {
+ jQuery.fnAttr[ name ] = true;
+ }
});
// Prevent memory leaks in IE