Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

141
Visualizações
To-do list JavaScript

I'm trying to make to-do list but i'm stuck with local storage. Nothing appears when the page is reloaded. I assume it's about changeStorage() method but i don't fully understand what i'm doing wrong.

function addTask() {
    let addTaskButton = document.getElementById('add-task-button')
    let list = document.getElementById('task-list');
    let li = document.createElement('li');
    let checkbox = document.createElement('input');
    let taskText = document.createElement('span');
    let delButton = document.createElement('button');
    let btnText = document.createTextNode('Delete task');

    checkbox.addEventListener('change', changeStorage);
    checkbox.type = 'checkbox';
    checkbox.className = 'checkbox';
    taskText.innerText =  document.getElementById('input-task').value;
    taskText.className = 'task';
    delButton.className = 'delete-btn';
    delButton.onclick = deleteTask;
    addTaskButton.addEventListener('click', changeStorage);

    delButton.appendChild(btnText);
    li.appendChild(checkbox);
    li.appendChild(taskText);
    li.appendChild(delButton);
    list.appendChild(li);

    document.getElementById('input-task').value = '';
}

function changeStorage() {
    let tasks = document.getElementById('ul').innerHTML;
    localStorage.setItem('tasks', JSON.stringify(tasks));
}

function deleteTask () {
    this.parentNode.remove();
    changeStorage();
}

document.getElementById('add-task-button').addEventListener('click', addTask);

function loadList() {
    document.querySelector('ul').innerHTML = JSON.parse(localStorage.getItem("tasks")) || [];
}

window.addEventListener('load', loadList);
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

This should change what gets stored in localStorage into a valid JSON string, and then reconstruct LI elements from it when it's loaded.

function changeStorage() {
    let tasks = [...document.querySelectorAll("ul li")].map(t => t.innerHTML);
    localStorage.setItem('tasks', JSON.stringify(tasks));
}

function loadList() {
    document.querySelector('ul').innerHTML = (JSON.parse(localStorage.getItem("tasks")) || []).map(t => "<li>" + t + "</li>").join("");
}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda