[英]Why isn't my function defined?
这怎么会返回错误? 在我的头上
var movieArray = [
["Everything is Illuminated", "0", ""],
["The Girl Who Leapt Through Time (Toki wo kakeru shojo)", "1", "<ol><li><span class=\"bold quote_actor\">Kosuke Yoshiyama: </span><span class=\"line\">It's not that rare. Many girls do it at your age.</span></li> </ol>"],
["Freedom Writers", "0", ""],
["Inside Man", "0", ""]
];
function checkAnswer(this.value) {
if (this.value == 0) {
alert ("Wrong answer!");
} else {
alert ("Correct Answer!");
}
}
在身体里...
<p><a id="0" class="btn btn-primary btn-large" value="0" onclick="checkAnswer(this.value)">Everything is Illuminated</a></p>
<p><a id="1" class="btn btn-primary btn-large" value="1" onclick="checkAnswer(this.value)">The Girl Who Leapt Through Time (Toki wo kakeru shojo)</a></p>
错误是未定义checkAnswer()。 怎么会?
谢谢。
你忘了逃走"
数组元素中加入反斜杠
var movieArray = [
["Everything is Illuminated", "0", ""],
["The Girl Who Leapt Through Time (Toki wo kakeru shojo)", "1", "<ol><li><span class=\"bold quote_actor\">Kosuke Yoshiyama: </span><span class=\"line\">It's not that rare. Many girls do it at your age.</span></li> </ol>"],
["Freedom Writers", "0", ""],
["Inside Man", "0", ""]
];
function checkAnswer(arg1) {
if (arg1 == 0) {
alert("Wrong answer!");
} else {
alert("Correct Answer!");
}
}
其次this.value
应该同时调用checkAnswer(传递),而不是在defitinion的时间
每个人都怎么错过参数列表中的this.value
? 它应该是一个标识符,例如myvalue
。 这就是为什么checkAnswer
的原因。
现在,对于其余的代码,您不能在checkAnswer
函数中使用this
,因为它将引用全局对象,而不是链接。 另外,链接不支持value
属性,因此您需要使用getAttribute
或将值直接放在onClick
事件中。
function checkAnswer(myval) {
if (myval == 0) {
alert ("Wrong answer!");
} else {
alert ("Correct Answer!");
}
}
<p><a class="btn btn-primary btn-large" onclick="checkAnswer(0)">Everything is Illuminated</a></p>
<p><a class="btn btn-primary btn-large" onclick="checkAnswer(1)">The Girl Who Leapt Through Time (Toki wo kakeru shojo)</a></p>
我还删除了id
属性,因为以数字开头的ID在HTML5中是无效的(即使那样,由于较旧的浏览器仍在广泛使用,所以它们也不是一个好主意,即使没有它们也没有意义)
函数语法错误。
错误:
function checkAnswer(this.value) {
函数语法必须是functionName(formalParameterName)
。 您正在函数参数的对象中传递值,这将导致错误。 您必须将其更改为function checkAnswer(param)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.