私はJavaScriptの初心者で、簡単なTo-Doリストアプリケーションを作成しています。これはユーザー入力を受け入れ、それを。の形式でタスクとして追加しますcheckbox
。
問題は、コードがますます反復的になっていることです。私は最も反復的な部分の関数を作成しようとしました。しかし、ある種のDOMネイティブ関数を使用してそれを行うためのより良い方法があると思います。
これが私のコードです(私はより良い選択があると思うところにコメントを書いています):
window.onload = function(){
submitBtn.addEventListener("click", function(){
//Some code ...
var task = document.createElement("input");
task.id = "task" + i;
task.type = "checkbox";
var taskLabel = document.createElement("label");
taskLabel.htmlFor = "task" + i;
taskLabel.appendChild(document.createTextNode(textBox.value));
//This is from a function i've created to create buttons
var deleteBtn = createButton("delete");
var undoBtn = createButton("undo", "none");
var divideBtn = createButton("divide");
var taskContainer = document.createElement("p");
//A LOT of appendChild is happening .. How can i minimize that using
//native DOM methods
taskContainer.appendChild(task);
taskContainer.appendChild(taskLabel);
taskContainer.appendChild(deleteBtn);
taskContainer.appendChild(divideBtn);
taskContainer.appendChild(undoBtn);
taskPool.appendChild(taskContainer);
//the rest of the code ....
});
}