Salve!
Ho un problema con una libreria che sto costruendo, ovvero la libreria pur essendo perfettamente visibile alla pagina html di prova, non trova un elemento collegato.
Questo il codice definito:
codice:
var $ = function(){};	//	Oggetto vuoto e pronto per la modifica.
var elements = [];	//	Utilizzata per concatenare più oggetti.
/**
*	Prende l'IDentificativo dell'elemento in oggetto (funzione cross browser)
*		Uso: var e = $.Element.get('pippo').value; Se 'pippo' è un controllo tipo INPUT, in value c'è il suo valore
*/
$.prototype.Element = {

	/**
	*	Metodo: cache
			Mette nella cache un elemento DOM (metodo privato di get: vedi sotto)
			Argomenti:
			    - [string] id : l'id dell'elemento desiderato
	*/
	cache: function(id) {		
			if(!elements[id]) {
				if (document.getElementById) {	// 	Mozilla + IE6/7/8/9
					elements[id] = document.getElementById(id);
				} else if (document.all) {	//	IE4
					elements[id] = document.all[id];
				} else if (document.layers) {	// 	Netscape 4
					elements[id] = document.layers[id];
				}
			}
	return elements[id];
	},	//	cache()
	
	/**
	*       Metodo: get
	        Restituisce un elemento DOM basandosi sull'id dello stesso
	        Argomenti:
	            - [string] id : l'id dell'elemento desiderato
				
			Esempio d'uso: var valore = $.Element.get('pippo').value;
	*/
	get: function(id) {
		var e = false;
		if (typeof id == 'string') {	//	Se l'ID è una stringa lo processo
			e = cache(id);
		}
	return e;
	}	//	get()
};	//	Element
In pratica richiamando per prova la funzione get() mi da come errore: Uncaught TypeError: Cannot call method 'get' of undefined (in Chrome).
Ho provato e riprovato a guardare se ci fossero errori di sintassi nel codice ma non ne vedo.
La funzione la richiamo in modo semplice così da fornirmi il colore di sfondo di un elemento HTML che ho creato appositamente, tanto per vedere se funziona.
codice:
alert('Colore: ' + $.Element.get('prova').style.backgroundColor);
Qualcuno saprebbe aiutarmi a trovare l'errore, io proprio non ci riesco