#javascript #html
Вопрос:
Я столкнулся с проблемой и не могу ее решить. Я пытаюсь извлечь данные из локального хранилища и установить local_storage_key в качестве значения атрибута, а local_storage_value в качестве innerHTML для div.
У меня есть три элемента, хранящихся в локальном хранилище, однако по какой-то причине создается только один элемент (т. Е. Один div с атрибутом, равным local_storage_key, и его значение innerHTML равно local_storage_value).
Как я могу получить все три элемента и отобразить их в HTML?
Вот мой код:
for (let i = 0; i < localStorage.length; i ) {
let key = localStorage.key(i);
let newDiv = document.createElement("div");
newDiv.classList.add("task");
newDiv.setAttribute("task-id", key);
newDiv.innerHTML = localStorage.getItem(key);
form.insertAdjacentElement("afterend", newDiv);
}
Вот код, который сохраняет данные из входных данных в local_storage.
function createTask() {
submit.addEventListener("click", (e) => {
e.preventDefault(); // needed to prevent page from refresh upon click on submit
let data = input.value;
if (data === "") {
return; // check-up to forbid passing an emty value
} else {
let newTask = document.createElement("div");
newTask.classList.add("task");
newTask.textContent = data;
form.insertAdjacentElement("afterend", newTask);
input.value = "";
function generateRandomInteger(max) {
return Math.floor(Math.random() * max) 1;
}
let storageId = generateRandomInteger(20);
let storageValue = data;
newTask.setAttribute("task-id", storageId);
localStorage.setItem(storageId, storageValue);
}
});
}
Комментарии:
1. Это прекрасно работает для меня: jsfiddle.net/srxoL4ma/3
2. Поделитесь кодом, в котором вы устанавливаете элементы в локальное хранилище.
3. @vanowm (или кто угодно) В вашей скрипке вы знаете, почему элементы добавляются на страницу и печатаются в порядке 0, 2, 1?
4. @wazz Я заметил, что too…it кажется
localStorage
, не сохраняются элементы заказа, которые были установлены. jsfiddle.net/0rxhw213 Что интересно, когда я добавлял еще один элемент с именем «масштаб», он всегда был первым в списке, а все остальные были установлены в обратной последовательности.5. @NavnathJadhav Я отредактировал первоначальный вопрос и добавил код, который сохраняет данные в локальное хранилище. Пожалуйста, взгляните. Надеюсь, это поможет