Первый: Если я понял вас правильно, вы имеете структуру объекта (JSON), как:
{
"name": "cheese",
"quantity": 2,
"is_bought": false
}
Если нет (в вопросе у вас нет ключа (имя) для ваших переменных) вашей структуры сусла Похоже, я показал, что у меня есть доступ к каждой переменной в объекте.
Второй: О localStorage
. Он ограничивается обработкой только пар строк/значений, поэтому вы не можете просто сохранить в нем объект. Вы должны использовать JSON.stringify()
для анализа вашего объекта в строке и сохранения в localStorage
, затем, после извлечения, используйте JSON.parse()
, чтобы проанализировать его. Код может выглядеть следующим образом:
var item = {"name": "cheese", "quantity": 2, "is_bought": true};
// Store item into localStorage
localStorage.setItem('item', JSON.stringify(item));
// Retrieve item from localStorage
var retrievedItem = localStorage.getItem('item');
var parsedItem = JSON.parse(retrievedItem);
EDIT: ХРАНИТЬ НЕСКОЛЬКО ЭЛЕМЕНТЫ
Таким образом, если речь идет о хранении нескольких элементов и различать их, и , если имя вашего элемента являетсяуникальным, и вы знаете, какой предмет куплен, вы можете сохранить их в localStorage с ключом имени элемента, например
// You can do this in a for loop
localStorage.setItem('item_' + item.name, JSON.stringify(item));
// And to change (if you already know bought item's name), 'cheese' for example
var retrievedItem = localStorage.getItem('item_cheese');
var parsedItem = JSON.parse(retrievedItem);
parsedItem.is_bought = true;
// And save again in localStorage
localStorage.setItem('item_cheese', JSON.stringify(parsedItem));
http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage – Viney