gpt4 book ai didi

javascript - HTML5 本地存储无法找到变量,即使 console.log 显示它

转载 作者:行者123 更新时间:2023-11-28 20:01:44 25 4
gpt4 key购买 nike

我正在使用示例脚本来填充我网站中的表格。基本上我想持久地复制保存一个人的答案,这样如果他们刷新页面,他们的选择仍然存在。我有向表格添加项目的功能,清除所有按钮有效,主要问题是删除按钮不起作用。我收到错误;在控制台中“找不到变量”,即使我可以通过检查 console.log(window.localStorage); 看到存储的变量

window.addEventListener("load",updateTable,false);

function updateTable() {
var tbody = document.getElementById("output");
while (tbody.getElementsByTagName("tr").length > 0) {
tbody.deleteRow(0);
}
var row;
if (localStorage.length==0) {
row = tbody.insertRow(i);
cell = row.insertCell(0);
cell.colSpan="4";
cell.innerHTML = "Nothing to Show";
}
for (var i=0; i < localStorage.length; ++i) {
row = tbody.insertRow(i);
cell = row.insertCell(0);
cell.innerHTML = i;
cell = row.insertCell(1);
cell.innerHTML = localStorage.key(i)
cell = row.insertCell(2);
cell.innerHTML = localStorage.getItem(localStorage.key(i));
cell = row.insertCell(3);
cell.innerHTML = '<button class="btn btn-danger btn-sm" onclick="deleteItem('+localStorage.key(i)+');"><i class="fa fa-trash-o"></i> Delete</button>';
}
}
function deleteItem(key) {
if (!confirm("Are you sure you want to delete this item?")) return;
localStorage.removeItem(key);
updateTable();
}

function clearStorage() {
if (!confirm("Are you sure you want to delete all local storage for this domain?")) return;
localStorage.clear();
updateTable();
}

function save() {
var key = document.getElementById("key").value;
var value = document.getElementById("value").value;
localStorage.setItem(key,value);
updateTable();
}

最佳答案

您尚未在删除调用中分隔键...

cell.innerHTML = '<button class="btn btn-danger btn-sm" onclick="deleteItem(\''+localStorage.key(i)+'\');"><i class="fa fa-trash-o"></i> Delete</button>';

请注意,我在键周围添加了引号。尝试一下,看看是否有帮助:)

关于javascript - HTML5 本地存储无法找到变量,即使 console.log 显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21558526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com