Javascript HTML5本地存储找不到变量,即使console.log显示了它
我正在使用示例脚本填充网站中的表。基本上我想复制保存一个人的答案,所以如果他们刷新页面,他们的选择仍然存在。我有功能添加项目到表中,清除所有按钮工作,主要问题是删除按钮不工作。我得到了错误;在控制台中“找不到变量”,即使我可以通过检查Javascript HTML5本地存储找不到变量,即使console.log显示了它,javascript,jquery,html,local-storage,Javascript,Jquery,Html,Local Storage,我正在使用示例脚本填充网站中的表。基本上我想复制保存一个人的答案,所以如果他们刷新页面,他们的选择仍然存在。我有功能添加项目到表中,清除所有按钮工作,主要问题是删除按钮不工作。我得到了错误;在控制台中“找不到变量”,即使我可以通过检查console.log(window.localStorage)看到存储的变量 window.addEventListener(“加载”,updateTable,false); 函数updateTable(){ var tbody=document.getEleme
console.log(window.localStorage)看到存储的变量代码>
window.addEventListener(“加载”,updateTable,false);
函数updateTable(){
var tbody=document.getElementById(“输出”);
while(tbody.getElementsByTagName(“tr”).length>0){
tbody.deleteRow(0);
}
var行;
if(localStorage.length==0){
行=t正文。插入行(i);
单元格=行。插入单元格(0);
cell.colSpan=“4”;
cell.innerHTML=“无需显示”;
}
对于(变量i=0;i
您尚未在删除调用中分隔键
cell.innerHTML = '<button class="btn btn-danger btn-sm" onclick="deleteItem(\''+localStorage.key(i)+'\');"><i class="fa fa-trash-o"></i> Delete</button>';
cell.innerHTML='Delete';
注意,我在键周围添加了引号。试试看是否有用:)您在删除调用中没有分隔键
cell.innerHTML = '<button class="btn btn-danger btn-sm" onclick="deleteItem(\''+localStorage.key(i)+'\');"><i class="fa fa-trash-o"></i> Delete</button>';
cell.innerHTML='Delete';
注意,我在键周围添加了引号。试试看是否有用:)您在删除调用中没有分隔键
cell.innerHTML = '<button class="btn btn-danger btn-sm" onclick="deleteItem(\''+localStorage.key(i)+'\');"><i class="fa fa-trash-o"></i> Delete</button>';
cell.innerHTML='Delete';
注意,我在键周围添加了引号。试试看是否有用:)您在删除调用中没有分隔键
cell.innerHTML = '<button class="btn btn-danger btn-sm" onclick="deleteItem(\''+localStorage.key(i)+'\');"><i class="fa fa-trash-o"></i> Delete</button>';
cell.innerHTML='Delete';
注意,我在键周围添加了引号。试试看是否有用:)那么,console.log(window.localStorage)
将指示window.localStorage
是一个对象。如果您在deleteItem
中放置断点,请尝试输出localStorage.getItem('SOMEKEY')
,然后查看是否得到一个值。当我将其放入时,我得到“test”back test作为插入表中的变量和键,并且该表在键值区域中填充了test和test,它似乎无法找到它来删除它。当我在“单击”调用中缺少某个东西时,可以考虑使用<代码> CureLeEntEnter()/<代码>代替插入单元格。根据这个测试框架,insertCell的速度要慢得多,这意味着如果您有非常广泛的表,那么在将来可能会遇到瓶颈。。。(好的,/唯一的/例外是IE使用insertCell比使用createElement更快…然而,对于可用的浏览器来说,有一个明显的性能差异…)嗯,console.log(window.localStorage)
将指示window.localStorage
是一个对象。如果您在deleteItem
中放置断点,请尝试输出localStorage.getItem('SOMEKEY')
,然后查看是否得到一个值。当我将其放入时,我得到“test”back test作为插入表中的变量和键,并且该表在键值区域中填充了test和test,它似乎无法找到它来删除它。当我在“单击”调用中缺少某个东西时,可以考虑使用<代码> CureLeEntEnter()/<代码>代替插入单元格。根据这个测试框架,insertCell的速度要慢得多,这意味着如果您有非常广泛的表,那么在将来可能会遇到瓶颈。。。(好的,/唯一的/例外是IE使用insertCell比使用createElement更快…然而,对于可用的浏览器来说,有一个明显的性能差异…)嗯,console.log(window.localStorage)
将指示window.localStorage
是一个对象。如果您在deleteItem
中放置断点,请尝试输出localStorage.getItem('SOMEKEY')
,然后查看是否得到一个值。当我将其放入时,我得到“test”back test作为插入表中的变量和键,并且该表在键值区域中填充了test和test,它似乎无法找到它来删除它。当我在“单击”调用中缺少某个东西时,可以考虑使用<代码> CureLeEntEnter()/<代码>代替插入单元格。根据这个测试框架,insertCell的速度要慢得多,这意味着如果您有非常广泛的表,那么在将来可能会遇到瓶颈。。。(好的,/唯一的/例外是IE使用insertCell比使用createElement更快…然而,对于可用的浏览器来说,有一个明显的性能差异…)嗯,console.log(window.localStorage)
将指示window.localStorage
是一个对象。如果您在deleteItem
中放置断点,请尝试输出localStorage.getItem('SOMEKEY')
,然后查看是否得到一个值。当我将其放入时,我得到“test”back test作为插入表中的变量和键,并且该表在键值区域中填充了test和test,它似乎无法找到它来删除它。当我在“单击”调用中缺少什么时,可以考虑使用<代码> CureLeTeMeNe()/<代码>。