使用括号创建我的代码,它确实运行了代码。为什么Javascript不能正常工作?
不知何故,当我在w3school和codepen(odepen.io/pen/?editors=101)网站上测试我的代码时,它工作正常。
有什么想法吗?
HTML代码(无改变的代码)
<table width="400" border="1" align="center">
<tr>
<td><div id="number1">1</div></td>
<td><div>+</div></td>
<td><div id="number2">2</div></td>
<td><div>=</div></td>
<td><input type="text"></input></td>
<td><input type="button" value="Check"></input></td>
</tr>
</table>
这是JavaScript代码。如果我在codepen中运行此代码,它工作正常。
//random number appear when start game
var number1;
var number2;
number1 = Math.floor((Math.random() * 10) + 1);
number2 = Math.floor((Math.random() * 10) + 1);
document.getElementById("number1").innerHTML=number1;
document.getElementById("number2").innerHTML=number2;
//Answer
var answer = number1 + number2;
//add click handler with check answer
var checkAnswer = document.querySelector('input[type=text]');
var value = checkAnswer.value;
var btn = document.querySelector('input[type=button][value=Check]');
btn.onclick = function()
{
if (value == answer)
{
alert('You are correct');
}
else{
alert('You are incorrect, the answer was ' + answer);
}
document.querySelector('input[type=text]').value = "";
document.getElementById('number1').innerHTML = "";
document.getElementById('number2').innerHTML = "";
number1 = Math.floor((Math.random() * 10) + 1);
number2 = Math.floor((Math.random() * 10) + 1);
document.getElementById('number1').innerHTML = number1;
document.getElementById('number2').innerHTML = number2;
answer = number1 + number2
};
你问你为什么代码有效吗?它在哪里工作? – 2015-02-24 17:16:03
您的HTML中没有脚本元素,因此脚本根本没有被加载。 (您可能刚刚从问题中省略了代码中的重要部分,但其定位可能很重要)。 – Quentin 2015-02-24 17:16:04
请告诉我们,你期望你的代码做什么,代之以什么。只是在某些环境中说“工作正常”不是问题描述。 – Teemu 2015-02-24 17:16:30