Javascript 无法读取属性';未定义';未定义的
在cookie方面有点麻烦,我确实让我的站点保存cookie(待办事项列表项),并在页面加载后重新加载它们,然后将它们放回屏幕上的表中Javascript 无法读取属性';未定义';未定义的,javascript,cookies,if-statement,Javascript,Cookies,If Statement,在cookie方面有点麻烦,我确实让我的站点保存cookie(待办事项列表项),并在页面加载后重新加载它们,然后将它们放回屏幕上的表中 var myCookies = document.cookie.split(";"); for(var b = 0; b < myCookies.length; b++) { var cookie = myCookies[i].trim().split("="); if(cookie[0].indexOf("todo-") === 0
var myCookies = document.cookie.split(";");
for(var b = 0; b < myCookies.length; b++) {
var cookie = myCookies[i].trim().split("=");
if(cookie[0].indexOf("todo-") === 0) {
window.todoTable.insertAdjacentHTML('beforeend', decodeURIComponent(cookie[1]));
}
}
但是,当我删除所有cookie并尝试重新开始时,我不断收到一个控制台错误,说现在无法读取undefined的属性“undefined”
,如果我注释掉下面两段代码,这个问题就会消失,但cookie系统当然会失败
本节检查上次有人访问时待办事项列表中的项目数,并将i
设置为该数字,因此不会删除任何get
var listCookies = document.cookie.split(";");
for(var a = 0; a < listCookies.length; a++) {
var listCount = myCookies[i].trim().split("=");
if(listCount[0].indexOf("listCount") === 0) {
var i = listCount;
} else {
var i = 0;
}
}
var listCookies=document.cookie.split(“;”);
对于(var a=0;a
本节查找实际的待办事项,并将其放在屏幕上的表格中
var myCookies = document.cookie.split(";");
for(var b = 0; b < myCookies.length; b++) {
var cookie = myCookies[i].trim().split("=");
if(cookie[0].indexOf("todo-") === 0) {
window.todoTable.insertAdjacentHTML('beforeend', decodeURIComponent(cookie[1]));
}
}
var mycokies=document.cookie.split(“;”);
for(var b=0;b
我知道问题是,有些人第一次访问时没有保存任何cookie,但当我尝试添加一个似乎没有任何作用的if(typeof document.cookie==“undefined”)
语句时
我假设我需要一个if语句来包装这些代码,对吗?也就是说,如果没有饼干,“跳过这一点”。如果有“do stuff.”
i
应该是全局的,我已经将其设置为totalCount
第一节应为:
var totalCount = 0;
var listCookies = document.cookie.split(";");
for(var a = 0; a < listCookies.length; a++) {
var listCount = listCookies[a].trim().split("=");
if(listCount[0].indexOf("listCount") === 0) {
totalCount = listCount[1];
break;
}
}
var myCookies = document.cookie.split(";");
for(var b = 0; b < myCookies.length; b++) {
var cookie = myCookies[b].trim().split("=");
if(cookie[0].indexOf("todo-") === 0) {
window.todoTable.insertAdjacentHTML('beforeend', decodeURIComponent(cookie[1]));
}
}
var totalCount=0;
var listCookies=document.cookie.split(“;”);
对于(var a=0;a
第二节应为:
var totalCount = 0;
var listCookies = document.cookie.split(";");
for(var a = 0; a < listCookies.length; a++) {
var listCount = listCookies[a].trim().split("=");
if(listCount[0].indexOf("listCount") === 0) {
totalCount = listCount[1];
break;
}
}
var myCookies = document.cookie.split(";");
for(var b = 0; b < myCookies.length; b++) {
var cookie = myCookies[b].trim().split("=");
if(cookie[0].indexOf("todo-") === 0) {
window.todoTable.insertAdjacentHTML('beforeend', decodeURIComponent(cookie[1]));
}
}
var mycokies=document.cookie.split(“;”);
for(var b=0;b
在第一部分中,您似乎在设置i和mycokies变量之前就引用了它们。是这样吗?var listCount=myCookies[i].trim().split(“=”);您可以检查导致错误的行吗?如果(typeof(document.cookie)==“undefined”)myookies
没有定义,并且i
还没有定义,那么应该是myookies[i]
请求undefined
上的undefined
。为什么需要第一部分?你所说的“没有任何东西被删除”是什么意思?你的代码可能没有错误,但它是否如你所期望的那样工作?是的!非常感谢:)我唯一需要知道的是如何记住复选框是否被选中。lol。你可以保留一个二进制字符串,每个复选框的每一位。