好的,所以我搞乱了数组,现在我正试图得到第二个问题,这个问题得到了回复,而不是“正确!”如果在这种情况下发现它是正确的,我希望它回答“gerp”如果第二个问题是正确的。但我不完全确定如何做到这一点。我搞砸了什么?
var i = 0;
var myArray = new Array({
q: "What was her favorite Color?",
a: "purple"
}, {
q: "gymhoaccetpptfe",
a: "rev six nine eleven"
});
function myFunction() {
var x;
var name = prompt(myArray[i].q);
if (name == myArray[i].a) {
x = document.getElementById("demo").innerHTML + " " + "correct!";
i = i + 1;
document.getElementById("demo").innerHTML = x;
} else if ((name == myArray[i + 1].a) {
x = document.getElementById("demo").innerHTML + " " + "gerp!";
} else {
x = document.getElementById("demo").innerHTML + name + " " + "is" + " " + "wrong!";
document.getElementById("demo").innerHTML = x;
}
}
答案 0 :(得分:2)
检查错误控制台( F12 )。这里有语法错误:
else if ((name == myArray[i + 1].a)
{
...
你错过了一个结束括号。这些错误(语法错误)经常被浏览器捕获,所以一个简单的检查应该修复它。
另外,你没有得到输出“gerp!”的原因是因为您将变量设置为innerHTML
,但实际上并未更新元素的innerHTML
。因此,请将此行添加到else if
语句和else
语句中。
document.getElementById("demo").innerHTML = x;