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;
var done = spanClicked.parentElement.done;
spanClicked.innerHTML = " ✔ ";
spanClicked.setAttribute("class", "done");
var key = "todos" + done;
localStorage.setItem(key, "true");
console.log(key);
}
最後の関数の 2 番目の部分では、localStorage で対象のオブジェクトがクリックされたときに、done プロパティの値を「true」に変更しようとしています。代わりに、Web コンソールで localStorage をチェックすると、そのオブジェクトの値は変更されず、代わりに "todosundefined: 'true'" という別のオブジェクトが localStorage に追加されます。オブジェクトをクリックすると、クリックしたオブジェクトの値を変更するのではなく、別の未定義のオブジェクトとして localStorage に何かが追加される理由がわかりません。localStorage でクリックしたオブジェクトの完了値を変更するように変更するための提案はありますか?