Existe-t-il un meilleur moyen d'écrire cette fonction? J'ai hérité d'un code javascript et j'aimerais le rendre plus concis si possible. En outre, je vais probablement ajouter beaucoup plus d'éléments "thème" et je ne veux pas copier et coller encore et encore.Javascript refactor
function imageClick() {
var theme1 = document.getElementById("li-theme1");
var theme2 = document.getElementById("li-theme2");
var theme3 = document.getElementById("li-theme3");
var imgtheme1 = theme1.getElementsByTagName("img");
var imgtheme2 = theme2.getElementsByTagName("img");
var imgtheme3 = theme3.getElementsByTagName("img");
var inputtheme1 = document.getElementById("radiotheme1");
var inputtheme2 = document.getElementById("radiotheme2");
var inputtheme3 = document.getElementById("radiotheme3");
imgtheme1[0].onclick = function() {
inputtheme1.checked = true;
highlightChoice("li-theme1");
}
imgtheme2[0].onclick = function() {
inputtheme2.checked = true;
highlightChoice("li-theme2");
}
imgtheme3[0].onclick = function() {
inputtheme3.checked = true;
highlightChoice("li-theme3");
}
}
J'ai aussi fait l'hypothèse ce highlightChoice serait toujours appelé avec l'identifiant de l'élément stocké dans "theme", basé sur votre code ci-dessus, sinon vous voudriez ajuster la ligne troisième à partir du bas en conséquence :) – Rob