Ecco una soluzione per implementare il metodo getElementsByClass basata sul DOM:
codice:
function getElementsByClass(searchClass, domNode, tagName) {
if (domNode == null) domNode = document;
if (tagName == null) tagName = '*';
var el = new Array();
var tags = domNode.getElementsByTagName(tagName);
var tcl = " "+searchClass+" ";
for(i=0,j=0; i<tags.length; i++) {
var test = " " + tags[i].className + " ";
if (test.indexOf(tcl) != -1)
el[j++] = tags[i];
}
return el;
}
Il primo argomento č necessario, gli altri opzionali.
La funzione ti permette di cercare la classe searchClass all'interno del documento, o all'interno di un determinato nodo domNode.
Inoltre puoi stabilire il tipo di tag da includere nella ricerca, passando anche tagName come terzo argomento della funzione.
La funzione restituisce un array contenente gli oggetti rispondenti ai criteri di ricerca selezionati.
Qui il source code.