2 X.Dom.NodeList = function( v ){
\r
4 l = arguments.length,
\r
6 indexOf, xnode, j, n = 0, skip;
\r
8 //args.push( arguments[ i ] );
\r
9 args.push.apply( args, arguments[ i ] );
\r
11 //alert( arguments[ 0 ].length + ' , ' + args.length )
\r
12 if( ( l = args.length ) === 1 ) return new X.Dom.Node( args[ 0 ] );
\r
13 if( !this || this.append !== X.Dom.NodeList.prototype.append ) return new X.Dom.NodeList( args );
\r
15 for( i = 0; i < l; ++i ){
\r
17 //xnode = xnode && xnode.constructor === X.Dom.Node ? xnode : new X.Dom.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.Dom.NodeList.prototype.length = 0;
\r
34 X.Dom.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.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT, function(){
\r
56 var target = X.Dom.NodeList.prototype,
\r
57 src = X.Dom.Node.prototype,
\r
61 if( X.Type.isFunction( v ) && !target[ p ] ){
\r
62 target[ p ] = multi = new Function( [
\r
63 'var a=arguments,f=X.Dom.Node.prototype.', p, ',t=this,i,l=t.length;',
\r
65 'for(i=0;i<l;++i)if(i===l-1)return f.apply(t[i],a);else f.apply(t[i],a);',
\r
66 'return f.apply(t,a)'
\r