基于点击次数的增量计数器的Javascript代码不起作用?
我正在学习Udacity Javascript设计课程,每次单击图像时,我需要增加计数器。但最终我无法找出这里的错误是什么,代码无法正常工作。Jfiddle中的链接是基于点击次数的增量计数器的Javascript代码不起作用?,javascript,html,Javascript,Html,我正在学习Udacity Javascript设计课程,每次单击图像时,我需要增加计数器。但最终我无法找出这里的错误是什么,代码无法正常工作。Jfiddle中的链接是 函数clickdone(){ var catpic=document.getElementById(“catpic”); var counter=document.getElementById(“计数器”); var count=counter.innerHTML; 计数++; counter.innerHTML=计数; }
函数clickdone(){
var catpic=document.getElementById(“catpic”);
var counter=document.getElementById(“计数器”);
var count=counter.innerHTML;
计数++;
counter.innerHTML=计数;
}
猫数
:
0
您的JSFIDLE无法工作,因为您必须将左上角的onload
设置设置为No Wrap-in
。这允许您的clickdone()
函数定义位于单击处理程序可以找到它的全局范围内。正如您所看到的,您的函数是在onload
处理程序函数中定义的,这意味着它位于私有作用域中,单击处理程序无法访问它
而且,你也有一个打字错误,在“函数”中漏掉了“f”
更改使其在此处工作正常:我看到我的代码在此处工作,但无法理解为什么它不在您在
load
事件侦听器中声明的JSFIDLE链接中工作。所以它不是全球性的。因此不能使用HTML事件处理程序内容属性调用。在这里提问之前,请先学习如何使用JSFIDLE等工具。所以是关于代码,而不是关于JSFIDLE。因为您已经将它链接到了不可用的js文件。在jsbin上也可以看到这一点。这一点也可以:另一个注意:尝试将计数器变量设置为全局范围变量,即在函数外部定义它。例如,在您的代码中,当我检查计数器元素时,我可以更改值并继续增加我输入的值。