2 function X_NodeList( v ){
\r
4 l = arguments.length,
\r
6 xnode, j, n = 0, skip;
\r
9 args.push.apply( args, arguments[ i ] );
\r
12 if( ( l = args.length ) === 1 ) return new Node( args[ 0 ] );
\r
13 if( !this || this[ 'append' ] !== X_NodeList.prototype[ 'append' ] ) return new X_NodeList( args );
\r
15 for( i = 0; i < l; ++i ){
\r
18 for( j = 0; j < n; ++j ){
\r
19 if( this[ j ] === xnode ){
\r
30 X_NodeList.prototype.length = 0;
\r
32 X_NodeList.prototype[ 'each' ] = function( func /* opt_args... */ ){
\r
33 var l = this.length,
\r
36 if( 1 < arguments.length ){
\r
37 args = X_Object_cloneArray( arguments );
\r
38 for( ; i < l; ++i ){
\r
40 if( func.apply( this[ i ], args ) === false ) break;
\r
43 for( ; i < l; ++i ){
\r
44 if( func.call( this[ i ], i ) === false ) break;
\r
50 /* --------------------------------------
\r
51 * Fuction Base, multi, getter, setter,
\r
53 X_TEMP.onSystemReady.push( function( sys ){
\r
54 var target = X_NodeList.prototype,
\r
55 src = Node.prototype,
\r
58 //if( X_EMPTY_OBJECT[ p ] ) continue;
\r
60 if( X_Type_isFunction( v ) && !target[ p ] ){
\r
61 target[ p ] = multi = new Function( [
\r
62 'var a=arguments,f=X.Node.prototype.', p, ',t=this,i,l=t.length;',
\r
64 'for(i=0;i<l;++i)if(i===l-1)return f.apply(t[i],a);else f.apply(t[i],a);',
\r
65 'return f.apply(t,a)'
\r