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);
}
Dans la deuxième partie de la dernière fonction, j'essaie de changer la valeur de la propriété done en "true" lorsque l'objet que je cible est cliqué pour localStorage. Ce qui se passe à la place c'est quand je vérifie localStorage dans la console web que la valeur de cet objet ne change pas et qu'un autre objet est ajouté au localStorage appelé "todosundefined: 'true'". Je ne comprends pas pourquoi lorsque je clique sur un objet, quelque chose est ajouté au localStorage en tant qu'objet séparé, non défini, au lieu de changer la valeur de l'objet sur lequel j'ai cliqué. Des suggestions pour le modifier afin que je change la valeur de l'objet sur lequel je clique pour localStorage?méthodes localStorage
La variable 'done' est indéfinie. C'est ce qui ne va pas. –
À quoi s'attendreiez-vous? Les éléments DOM n'ont pas de telles propriétés. – Bergi
done est une classe css que j'ai assignée à l'objet. il y a une autre classe appelée "notDone". quand la classe est définie sur fait, je veux le changer en vrai – user2084813