+++ /dev/null
-\r
-X.Dom.NodeList = function( v ){\r
- var args = [],\r
- l = arguments.length,\r
- i = 0,\r
- indexOf, xnode, j, n = 0, skip;\r
- for( ; i < l; ++i ){\r
- //args.push( arguments[ i ] );\r
- args.push.apply( args, arguments[ i ] );\r
- };\r
- //alert( arguments[ 0 ].length + ' , ' + args.length )\r
- if( ( l = args.length ) === 1 ) return new X.Dom.Node( args[ 0 ] );\r
- if( !this || this.append !== X.Dom.NodeList.prototype.append ) return new X.Dom.NodeList( args );\r
- \r
- for( i = 0; i < l; ++i ){\r
- xnode = args[ i ];\r
- //xnode = xnode && xnode.constructor === X.Dom.Node ? xnode : new X.Dom.Node( xnode );\r
- skip = false;\r
- if( xnode._xnodeType === 0 ) continue;\r
- for( j = 0; j < n; ++j ){\r
- if( this[ j ] === xnode ){\r
- skip = true;\r
- break;\r
- };\r
- };\r
- if( !skip ){\r
- this[ n ] = xnode;\r
- n = ++this.length; \r
- };\r
- };\r
-};\r
-X.Dom.NodeList.prototype.length = 0;\r
-\r
-X.Dom.NodeList.prototype.each = function( func /* opt_args... */ ){\r
- var l = this.length,\r
- i = 0, args;\r
-\r
- if( 1 < arguments.length ){\r
- args = X.copyArray( arguments );\r
- for( ; i < l; ++i ){\r
- args[ 0 ] = i;\r
- if( func.apply( this[ i ], args ) === false ) break;\r
- };\r
- } else {\r
- for( ; i < l; ++i ){\r
- if( func.call( this[ i ], i ) === false ) break;\r
- };\r
- };\r
- return this;\r
-};\r
-\r
-/* --------------------------------------\r
- * Fuction Base, multi, getter, setter,\r
- */\r
-X.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT, function(){\r
- var target = X.Dom.NodeList.prototype,\r
- src = X.Dom.Node.prototype,\r
- p, v, multi;\r
- for( p in src ){\r
- v = src[ p ];\r
- if( X.Type.isFunction( v ) && !target[ p ] ){\r
- target[ p ] = multi = new Function( [\r
- 'var a=arguments,f=X.Dom.Node.prototype.', p, ',t=this,i,l=t.length;',\r
- 'if(l)',\r
- 'for(i=0;i<l;++i)if(i===l-1)return f.apply(t[i],a);else f.apply(t[i],a);',\r
- 'return f.apply(t,a)'\r
- ].join( '' ) );\r
- };\r
- };\r
-});\r
-\r
-\r