function Todo(id, task, who, dueDate) {
this.id = id;
this.task = task;
this.who = who;
this.dueDate = dueDate;
this.done = false;
}
function updateDone(e) {
var spanClicked = e.target;
var id = spanClicked.parentElement.id;
spanClicked.innerHTML = " ✔ ";
spanClicked.setAttribute("class", "done");
console.log("you clicked this span" + id);
for(var i = 0; i < todos.length; i++) {
if (todos[i].id == id) {
var mark = todos[i];
mark.setAttribute("class", "done");
console.log(mark);
break;
}
}
}
この関数の最初の部分は、オブジェクトが「完了」したことを示すためにWebページを更新します。2番目の部分は私が問題を抱えているところです。配列内で「完了」としてオブジェクトを更新しようとしています。アイデアは、ユーザーがクリックしたもののIDを配列内のIDと一致させ、setAttributeを使用して「完了」として設定することでした。ただし、console.log(mark)に対して表示されるコンソールメッセージはmark.setAttributeであり、関数ではありません。配列内のオブジェクトを「完了」として更新できるように、これを変更する方法に関する提案はありますか?