X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F01_dom%2F17_XDomNodeList.js;fp=0.6.x%2Fjs%2F01_dom%2F17_XDomNodeList.js;h=9bf5312724a8b146f05940ba7a1228a1397ff644;hb=d3bd48b05c1f862dafaa3fb42a4ca155548b548e;hp=d55d60ba5193fb3ba07f1892768d860b26e21198;hpb=e5bd4c671159ce0d971476587246e5b4381a02a4;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/01_dom/17_XDomNodeList.js b/0.6.x/js/01_dom/17_XDomNodeList.js index d55d60b..9bf5312 100644 --- a/0.6.x/js/01_dom/17_XDomNodeList.js +++ b/0.6.x/js/01_dom/17_XDomNodeList.js @@ -31,11 +31,20 @@ X.Dom.NodeList = function( v ){ }; X.Dom.NodeList.prototype.length = 0; -X.Dom.NodeList.prototype.each = function( func ){ +X.Dom.NodeList.prototype.each = function( func /* opt_args... */ ){ var l = this.length, - i = 0; - for( i = 0, l = this.length; i < l; ++i ){ - if( func.call( this[ i ], i ) === false ) break; + i = 0, args; + + if( 1 < arguments.length ){ + args = X.copyArray( arguments ); + for( ; i < l; ++i ){ + args[ 0 ] = i; + if( func.apply( this[ i ], args ) === false ) break; + }; + } else { + for( ; i < l; ++i ){ + if( func.call( this[ i ], i ) === false ) break; + }; }; return this; };