scratch – Blame information for rev 125

Subversion Repositories:
Rev:
Rev Author Line No. Line
125 office 1 define([
58 office 2 "../core"
3 ], function( jQuery ) {
4  
5 // Multifunctional method to get and set values of a collection
6 // The value/s can optionally be executed if it's a function
125 office 7 var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
58 office 8 var i = 0,
9 len = elems.length,
10 bulk = key == null;
11  
12 // Sets many values
13 if ( jQuery.type( key ) === "object" ) {
14 chainable = true;
15 for ( i in key ) {
125 office 16 jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
58 office 17 }
18  
19 // Sets one value
20 } else if ( value !== undefined ) {
21 chainable = true;
22  
23 if ( !jQuery.isFunction( value ) ) {
24 raw = true;
25 }
26  
27 if ( bulk ) {
28 // Bulk operations run against the entire set
29 if ( raw ) {
30 fn.call( elems, value );
31 fn = null;
32  
33 // ...except when executing function values
34 } else {
35 bulk = fn;
36 fn = function( elem, key, value ) {
37 return bulk.call( jQuery( elem ), value );
38 };
39 }
40 }
41  
42 if ( fn ) {
43 for ( ; i < len; i++ ) {
125 office 44 fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
58 office 45 }
46 }
47 }
48  
125 office 49 return chainable ?
50 elems :
58 office 51  
125 office 52 // Gets
53 bulk ?
54 fn.call( elems ) :
55 len ? fn( elems[0], key ) : emptyGet;
58 office 56 };
57  
58 return access;
59  
125 office 60 });