未捕获的类型错误: 无法读取未定义的属性“图像”
Uncaught TypeError: Cannot read property 'image' of undefined
$(function() {
var retrievedtext1 = localStorage.getItem('t1');
var retrievedtext2 = localStorage.getItem('t2');
retrievedtext1=JSON.parse(retrievedtext1);
retrievedtext2=JSON.parse(retrievedtext2);
document.getElementById("option1").innerHTML = retrievedtext1;
document.getElementById("option2").innerHTML = retrievedtext2;
var changeq=0;
var obj= OS.length;
console.log(obj);
document.getElementById("element").src =OS[changeq].image ;
$('#Fairly1').click(function() {
alert('value = 1'+"--"+OS[changeq].image);
changeq +=1;
document.getElementById("element").src = OS[changeq].image ;
if (changeq>=OS.length){
window.location.assign("start.html");
}
});
$('#between').click(function() {
alert('value = 2'+"--"+OS[changeq].image);
changeq +=1;
document.getElementById("element").src = OS[changeq].image ;
});
$('#Both').click(function() {
alert('value = 5'+"--"+OS[changeq].image);
changeq +=1;
document.getElementById("element").src = OS[changeq].image ;
});
$('#Non').click(function() {
alert('value = 6'+"--"+OS[changeq].image);
changeq +=1;
document.getElementById("element").src = OS[changeq].image ;
});
$('#x').click(function() {
alert('value = 4'+"--"+OS[changeq].image);
changeq +=1;
document.getElementById("element").src = OS[changeq].image ;
});
$('#Fairly2').click(function() {
alert('value = 3'+"--"+OS[changeq].image);
changeq +=1;
document.getElementById("element").src = OS[changeq].image ;
});
});
function goBack() {
window.history.back();
}
我一直收到此错误:Uncaught TypeError: Cannot read property 'image' of undefined
。
想要它,以便在我遍历 JSON 对象后,我重定向到另一个页面并将用户所做的保存在一个数组中,以便稍后将其发送到数据库。
考虑
changeq +=1;
document.getElementById("element").src = OS[changeq].image ;
您先增加changeq
,然后再访问OS[changeq].image
。您没有检查changeq
是否仍然是数组的有效索引!
最简单的解决方案是切换线路。如果由于更改所需行为而无法做到这一点,请在以下两者之间移动检查:
changeq +=1;
if (changeq>=OS.length){
window.location.assign("start.html");
return;
}
document.getElementById("element").src = OS[changeq].image ;
相关文章:
- TypeError:无法读取属性'推'未定义的JavaScript
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 未捕获的类型错误:无法读取属性'删除'的未定义
- AngularJS指令出错-无法读取属性'编译'的未定义
- 看到“;未捕获的类型错误:无法读取属性'weight'未定义的“;尽管按照字面上的指示
- angularjs无法读取未定义的属性then
- 无法读取属性'材料'未定义的Three.js
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- JavaScript承诺-无法读取属性'那么'的未定义
- 未捕获的类型错误:无法读取属性'中止'的未定义
- 角度推入数组给出:TypeError:无法读取属性'推'的未定义
- Javascript未捕获类型错误:无法读取属性'0'的未定义
- jQuery控制台错误:无法读取属性'top'的未定义
- TypeError:无法读取属性'findAll'的未定义
- 无法读取属性'errcap'未定义的jqgrid
- 无法读取未定义的属性“rid”
- 未捕获的类型错误: 无法读取未定义的属性“图像”
- 可以't读取'getHTML'未定义的Liferay CK Editor内容
- 在node.js中未定义读取属性错误