PDA

View Full Version : [Javascript] Assegnazione di una funzione: ricorsione infinita


biowep
27-03-2012, 21:37
Ciao,
Ho una funzione $$() che mi restituisce gli elementi aventi una cerca classe se le passo $$('.classname').
Vorrei assegnare questa funzione al metodo document.getElementsByClassName().

document.getElementsByClassName=function(searchClass){
var searchClass='.'+searchClass;//aggiungo il punto perché la funzione $$() vuole così
return $$(searchClass);
}

Se chiamo document.getElementsByClassName('myclass'),
dopo aver modificato la mia funzione in questo modo
document.getElementsByClassName=function(searchClass){
alert(searchClass);
var searchClass='.'+searchClass;//aggiungo il punto perché la funzione $$() vuole così
return $$(searchClass);
}
noto che l'alert compare all'infinito con lo stesso nome classe ('myclass');

Mi sembra incomprensibile questa cosa, dove sbaglio (purtroppo, avendo da poco imparato a programmare in C non riesco a capire bene nemmeno l'assegnamento di funzioni, tutti i chiarimenti in merito saranno ben accetti).

onbi
29-03-2012, 11:25
Secondo me $$() (stai usando jQuery?) utilizza document.getElementsByClassName (che è un metodo esistente già definito) al suo interno.

Prova a cambiare nome al metodo che stai definendo.

biowep
29-03-2012, 19:47
si, hai proprio ragione, non so come ho fatto a non pensarci.
grazie per la risposta
(sto usando mootools)