JavaScript未定义对象,即使它在F12检查时显示数据
任何人都可以帮助解决这个错误 代码如下:JavaScript未定义对象,即使它在F12检查时显示数据,javascript,Javascript,任何人都可以帮助解决这个错误 代码如下: $(document).ready(function(){ var certifications = { nextCert : 0, data : [ { "imgSrc" : "http://res.cloudinary.com/sharek/image/upload/v1460011761/UC-PJNHKQ02_r1gjmj.jpg" }, { "imgSrc" : "http://res.cloudi
$(document).ready(function(){
var certifications = {
nextCert : 0,
data : [
{
"imgSrc" : "http://res.cloudinary.com/sharek/image/upload/v1460011761/UC-PJNHKQ02_r1gjmj.jpg"
},
{
"imgSrc" : "http://res.cloudinary.com/sharek/image/upload/v1460011761/UC-KE5C95GA_aid30q.jpg"
}
],
getNextCert : function(){
if(this.nextCert === this.data.length){
this.nextCert = 0;
}
else{
this.nextCert += 1;
}
return this.nextCert;
},
getCurrentCert : function() {
return this.nextCert;
},
getImgCert : function() {
return this.data[this.getNextCert()];
}
};//certification object
var certContainer = $('#cert-container').html
var templateItem = $(certContainer);
templateItem.find('.img-responsive').attr('src',certifications.getImgCert()['imgSrc']);
$('#nextBtn').click( function(){
console.log(certifications.getImgCert()['imgSrc']);
templateItem.find('.img-responsive').attr('src',certifications.getImgCert()['imgSrc']);
});
});//document.ready
这里是我正在处理的所有主页:
非常感谢这是因为getNextCert函数返回的索引超出了certifications数组的范围。当nextCert为1时,检查它是否超出数组的界限的检查将通过,因此您的代码将nextCert增加到2,并返回未定义的
data[2]
。您需要更改getNextCert函数:
getNextCert : function(){
this.nextCert += 1;
if(this.nextCert === this.data.length){
this.nextCert = 0;
}
return this.nextCert;
},
将
var certifications
移到文档外部。readyHi mplungjan,我尝试了您所说的方法,但没有帮助,我只是忘记了说certifications变量中有数据,脚本正在工作,即使它仅在控制台中显示错误。谢谢你,你还需要测试这个。下一个测试在递增后回答Hanks mplungjan,这就是问题所在。我感谢你的帮助。。。