Я пытаюсь назначить объект для дальнейшей обработки с помощью jQuery, но он не работает. Вот мой код:Невозможно назначить объект sessionStorage
$('.var').on('click', function() {
console.log($(this));
sessionStorage.setItem('object', JSON.stringify($(this)));
console.log(JSON.parse(sessionStorage.getItem('object')));
}
Обе консоли журналы не имеют одинаковое значение. Зачем?
Второй пример:
$('.var').on('click', function() {
sessionStorage.setItem('object', JSON.stringify($(this)));
var item = JSON.parse(sessionStorage.getItem('object'));
item.addClass('not-work'); //does not work
$(this).addClass('work'); //works
e.preventDefault();
}
Что я делаю неправильно с sessionStorage().
У какого объекта есть класс «var»? вы пытаетесь сохранить элемент? –
Вы не сможете извлекать определенные типы объектов из строки с помощью 'JSON.parse'. В вашем втором примере «item» - это простой объект, а не jQuery. Есть много решений. Одним из возможных является предоставление всем элементам обработки определенных идентификаторов, хранение этих идентификаторов вместо этого, а затем их использование для поиска конкретного узла DOM. – raina77ow
Интересно, как вы получили 'JSON.stringify', строгий объект DOM без металирования. – Bergi