Ich habe einige Code, der in den main.js repliziert DateiJavascript-Funktion create
Javascript Beispiele Duplikate:
Example 1
for (i = userVote; i < 5; i++) {
var newVotesInput = document.createElement("input");
newVotesInput.id = "vote" + i;
newVotesInput.classList.add("vote", "displayn");
newVotesInput.type = "radio";
newVotesInput.name = "vote";
newVotesInput.value = i;
someElement.appendChild(newVotesInput);
}
Example 2
for (i = 1; i <= userVote; i++) {
var newVotesLabel = document.createElement("label");
newVotesLabel.id = "voteLabel" + i;
newVotesLabel.classList.add("voteHover");
newVotesLabel.htmlFor = "vote" + i;
someElement.appendChild(newVotesLabel);
}
Example 3
var newImg = document.createElement("img");
newImg.classList.add("babeImg", "boxsb", "leftIn");
newImg.id = "imgSrc";
newImg.src = jsonData.imgSrc;
someElement.appendChild(newImg);
Example 4
var newShuffle = document.createElement("img");
newShuffle.classList.add("shuffleImg");
newShuffle.id = "shuffleImg";
newShuffle.src = "assets/img/refresh.png";
someElement.appendChild(newShuffle);
Example 5
newImg.classList.add("babeImg", "boxsb", "leftIn");
newImg.id = "imgSrc";
newImg.src = jsonData.imgSrc;
imgInner.appendChild(newImg);
Wie Sie die Beispiele sehen können, das gleiche tun, die ein Element schafft, aber es sind mehrere Parameter, die sich von Beispiel zu Beispiel unterscheiden. Wie mache ich eine Funktion, die ich für alle verwenden kann? jetzt ich nur wissen, wie man wie so für genau ein konkretes Beispiel bauen ->
function createElement(element, id, cls, src){
var newElement = document.createElement(element);
element.id = id;
element.classList.add(cls);
element.src = src;
someElement.appendChild(element);
}
Dieses bascially Beispiel ist 4 .. aber wie mache ich dies effizienter und nutzbar auf allen Beispielen?
Das sieht aus wie nichts, was ich vorher getan habe, ich werde mir gut anschauen, was Sie hier getan haben und versuchen, es zu lösen. – Heine
hinzugefügt einige Hinweise für Sie besser zu verstehen. – Derlin
Bitte verwenden Sie 'for-in' nicht auf einem Array. Es verursacht Probleme. In beiden Fällen benötigen Sie keine Schleife, um die Klassen aus dem Array hinzuzufügen. 'element.classList.add (...cls); 'Oder um ältere Browser zu unterstützen, ohne einen transpiler zu verwenden:' element.classList.add.apply (element.classList, cls) ' –