我一直在努力,而且它几乎正在工作。我觉得循环中的setInterval是无法完成或无法正常工作的。如果没有setInterval和最后的'if'语句,它会完美地循环遍历元素,并且如果我将它设置为,则为每个元素添加一个className。如果有人可以告诉我哪里出错了,那么这是我的剧本:
(function() {
var localStorageID = document.getElementById('local-storage');
var inputTags = ['input', 'textarea', 'select', 'button'];
// Loop through all the input tags on the page
for(var i = 0; i < inputTags.length; i++) {
// Create a variable that matches input tags inside our #localStorage
var localStorageTag = localStorageID.getElementsByTagName(inputTags[i]);
var formData = {};
for(var z = 0; z < localStorageTag.length; z++) {
formData[localStorageTag[z].name] = localStorageTag[z].value;
}
localStorage.setItem('formData', formData);
if(localStorage.getItem('formData')) {
// Try to achieve something
}
}
})();
答案 0 :(得分:0)
您无法在localStorage中存储对象。它们必须是字符串。使用JSON.stringify()将对象转换为字符串,然后在从localStorage检索时将字符串转换为JSON.parse()。
编辑:例如:
localStorage.setItem('formData', JSON.stringify(formData));
var fd= JSON.parse(localStorage.getItem('formData'));
if(fd) {
// Try to achieve something
}