jex: Meine erstes Framework: Ergänzung der Methoden

Beitrag lesen

Hi Leute,
ich bin gerade dabei mein erstes eigenes Javascript-Framework zu schreiben.
Im Moment habe ich aber Probleme mein Haupt-Object mit Methoden zu ergänzen.

  
/**  
 * @author jex  
 */  
(function(){  
	//constructor  
	function proton(el) {  
	    this.elements = [];  
		  
		var cur_el;  
	    for (var i = 0; i < el.length; i++) {  
		    cur_el = el[i];  
			  
			if (typeof cur_el == 'string') {  
		       	cur_el = document.getElementById(cur_el);  
			}  
				  
			this.elements.push(cur_el);  
	    }  
	    return this.elements;  
  	}  
  
	  
	//methods  
	proton.prototype = {  
		/*each: function(fn){  
			for (var i = 0; i < this.elements.length; i++) {  
				fn.call(this, this.elements[i]);  
			}  
			return this;  
		}*/  
		foo: function(bar){  
			alert('foorbar');  
			return bar;  
		}  
	};  
  
	window.$ = function(){  
		return proton(arguments);  
	};  
})();  

Wenn ich nun
$('debuger').foo('peter');
aufrufe, wird aber nicht 'peter' zurückgegeben, sondern ich bekomme den Fehler "$("debuger").foo is not a function" :(
Ich verstehe das nicht, bitte helft mir.

MfG
J.Exner