我正在研究Udacity Javascript设计课程我需要在每次点击图像时增加计数器。但最终我无法弄清楚这里有什么问题,而不是让代码工作。 Jfiddle中的链接是http://jsfiddle.net/mAKOV/uoyzrLn6/4/
function clickdone() {
var catpic = document.getElementById("catpic");
var counter = document.getElementById("counter");
var count = counter.innerHTML;
count++;
counter.innerHTML = count;
}

<img id="catpic"
src="http://apurrfectcat.files.wordpress.com/2011/08/2-cats.jpg"
style="height:400px; width:600px;"
onclick="clickdone();" />
<br>
<div>
<p>Cat Count</p>
<span style="text:bold;">:</span>
<span id="counter">0</span>
</div>
&#13;
答案 0 :(得分:3)
您的jsFiddle不起作用,因为您必须将左上方的onload
设置设为No Wrap in <head>
。这允许您的clickdone()
函数定义位于单击处理程序可以找到它的全局范围内。正如您所拥有的那样,您的函数是在onload
处理函数中定义的,这意味着它位于私有作用域中,并且单击处理程序无法访问它。
而且,你也有一个错字,错过了“函数”中的“f”。
更改它可以在此处正常工作:http://jsfiddle.net/jfriend00/uoyzrLn6/3/