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
17 //xnode = xnode && xnode.constructor === Node ? xnode : new Node( xnode );
\r
19 //if( xnode._xnodeType === 0 ) continue;
\r
20 for( j = 0; j < n; ++j ){
\r
21 if( this[ j ] === xnode ){
\r
32 X_NodeList.prototype.length = 0;
\r
34 X_NodeList.prototype[ 'each' ] = function( func /* opt_args... */ ){
\r
35 var l = this.length,
\r
38 if( 1 < arguments.length ){
\r
39 args = X_Object_cloneArray( arguments );
\r
40 for( ; i < l; ++i ){
\r
42 if( func.apply( this[ i ], args ) === false ) break;
\r
45 for( ; i < l; ++i ){
\r
46 if( func.call( this[ i ], i ) === false ) break;
\r
52 /* --------------------------------------
\r
53 * Fuction Base, multi, getter, setter,
\r
55 X_TEMP.onSystemReady.push( function( sys ){
\r
56 var target = X_NodeList.prototype,
\r
57 src = Node.prototype,
\r
60 //if( X_EMPTY_OBJECT[ p ] ) continue;
\r
62 if( X_Type_isFunction( v ) && !target[ p ] ){
\r
63 target[ p ] = multi = new Function( [
\r
64 'var a=arguments,f=X.Node.prototype.', p, ',t=this,i,l=t.length;',
\r
66 'for(i=0;i<l;++i)if(i===l-1)return f.apply(t[i],a);else f.apply(t[i],a);',
\r
67 'return f.apply(t,a)'
\r