使用javascript将标签本地保存在本地存储中后,我在恢复标签时遇到问题
这是我在本地存储中保存 div 标签的代码
function saveqform() {
var parent = document.getElementById("questions");
console.log(parent);
if (parent === undefined) {
return;
} else {
localStorage.qtag = parent;
}
}
这是我从本地存储恢复 div 标签的代码
function reloadqform() {
console.log(localStorage.qid);
console.log(localStorage.qtag);
if (localStorage.qid === undefined || localStorage.qtag === undefined) {
return;
} else {
$(document).ready(function() {
var saved = localStorage.qtag;
var parent = document.getElementById("element");
parent.appendChild(saved);
});
}
}
不幸的是,上面的代码只在从本地存储恢复 div 标签时输出 undefined,所以我采用了另一种方法,通过保存 innerhtml 而不是整个标签这是我保存内部 html 的代码
function saveqform() {
var parent = document.getElementById("questions");
console.log(parent);
if (parent === undefined) {
return;
} else {
localStorage.qtag = parent.innerHTML;
}
}
这是我恢复标签的代码
function reloadqform() {
console.log(localStorage.qid);
console.log(localStorage.qtag);
if (localStorage.qid === undefined || localStorage.qtag === undefined) {
return;
} else {
$(document).ready(function() {
var saved = localStorage.qtag;
var parent = document.getElementById("element");
parent.innerHTML=saved;
});
}
}
实际上,这段代码完美地恢复了 div 标签和标签内的元素,除了我丢失了我已经在 javascript 中使用 .onclick 方法设置的所有 onclick 函数,所以我能做些什么来简单地恢复标签,包括它的所有动作,谢谢进步