Javascript 无法访问在其他方法中初始化的元素

Javascript 无法访问在其他方法中初始化的元素,javascript,html,Javascript,Html,$(函数(){ var模型={ currentCat:null, 猫:[{ 姓名:“菲利克斯”, 单击计数器:0, srcImage:“cat0.jpg” }, { 姓名:“卢卡斯”, 单击计数器:0, srcImage:“cat1.jpg” }, { 姓名:“马丁”, 单击计数器:0, srcImage:“cat2.jpg” }, { 姓名:“佩德罗”, 单击计数器:0, srcImage:“cat3.jpg” } ] }; 八达通={ init:function(){ indexView.i

$(函数(){
var模型={
currentCat:null,
猫:[{
姓名:“菲利克斯”,
单击计数器:0,
srcImage:“cat0.jpg”
},
{
姓名:“卢卡斯”,
单击计数器:0,
srcImage:“cat1.jpg”
},
{
姓名:“马丁”,
单击计数器:0,
srcImage:“cat2.jpg”
},
{
姓名:“佩德罗”,
单击计数器:0,
srcImage:“cat3.jpg”
}
]
};
八达通={
init:function(){
indexView.init();
displayView.init();
},
getCats:function(){
returnmodel.cats;
},
getCurrentCat:函数(){
返回模型.currentCat;
},
setCurrentCat:功能(cat){
model.currentCat=cat;
},
updateClickCounter:函数(){
model.currentCat.clickCounter++;
displayView.render();
}
};
var displayView={
init:function(){
this.imgSection=document.getElementById(“imageSection”);
this.catImg=document.getElementById(“cat img”);
this.catName=document.getElementById(“cat name”);
this.catCounter=document.getElementById(“cat计数器”);
this.catImg.addEventListener(“单击”,函数(){
octopus.updateClickCounter();
})
this.render()
},
render:function(){
var cat=octopus.getCurrentCat();
this.catName.textContent=cat.name;
this.catCounter.textContent=cat.clickCounter;
this.catImg.src=cat.srcImage;
}
};
var indexView={
init:function(){
this.list=$(“#list”)
这个。render();
},
render:function(){
猫=章鱼。getCats();
对于(i=0;i

猫点击器
加蒂托斯!
指数

您必须将“this”绑定到事件处理程序,查看如何将
范围扩展到事件侦听器。

使用
文档.createTextNode
在已创建的事件上添加文本elements@azad创建文本内容不是问题,因为我无法访问首先要附加该文本节点的元素。当我尝试执行
this.catImg.src=cat.srcImage
时,它会抛出一个错误
无法将属性“src”设置为未定义的
您正在调用
displayView.render()
之前的
displayView.init()