attribuer dynamiquement une fonction avec parametre variable dans un onclick
J’écris ce post parce que j'ai cherché la solution pendant longtemps et j'ai lu sur le forum des reponses qui peuvent induire en erreur.
Code:
1 2 3 4 5 6 7 8 9
| var liens = elm.getElementsByTagName("a");
var lien;
for (var i = 0; i < liens.length; i++) {
lien = liens[i];
if (lien.onclick) {
lien.onclick = function () { arbreOrphelins.select(lien.id); };
lien.setAttribute('onclick', function () { arbreOrphelins.select(lien.id); });
}
} |
Voilà le code que j'ai et il y a deux problèmes :
* Javascript considère lien.id comme une chaine de caractère et ne l'evalue.
* Quand je remplace ma fonction par une fonction avec un parametre non variable (comme dans le setAttribute) ça change l'ecriture du onclick dans firebug j'ai bien onclick=function().... mais ça marche pas.
En fait il suffit de faire
Code:
lien.setAttribute('onclick', "arbreOrphelins.select("+lien.id+");");
Voilà !