繁体   English   中英

为什么未定义我的功能?

[英]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&#039;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&#039;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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM