Ecco come in teoria dovrebbe funzionare usando un array e invece non funziona:
codice:
function relTransform() {
ancore=document.getElementsByTagName("a");
for (i = 0; i != ancore.length; i++) {
if(ancore[i].getAttribute("rel")=="il_mio_rel") {
pathFile=new Array;
pathFile[i]=ancore[i].getAttribute("href");
window.alert(pathFile[i]);
ancore[i].setAttribute("href", "#");
ancore[i].onclick=function() { la_mia_funzione(pathFile[i]); }
}
}
}
//questa è per testarla
function la_mia_funzione(variabile) {
window.alert(variabile);
}
Ed ecco un codice html per provarla:
codice:
<html><head><script type="text/javascript" src="test.js"></script></head>
<body onload="relTransform();">
aaaaa
bbbbb
</body>
</html>
Ho messo un window.alert per capire se all'elemento dell'array viene dato un valore, e in effetti si, viene dato. Ma poi nella funzione la_mia_funzione, viene restituito il valore undefined.