为什么Javascript不工作?

为什么Javascript不工作?,javascript,html,css,Javascript,Html,Css,我用括号来创建我的代码,它确实运行了代码 不知何故,当我在w3school和codepen(odepen.io/pen/?editors=101)网站上测试代码时,它运行良好 //random number appear when start game var number1; var number2; number1 = Math.floor((Math.random() * 10) + 1); number2 = Math.floor((Math.random() * 10) + 1);

我用括号来创建我的代码,它确实运行了代码

不知何故,当我在w3school和codepen(odepen.io/pen/?editors=101)网站上测试代码时,它运行良好

//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


};
有什么想法吗

HTML代码(不更改代码)

为什么要硬使用:

<input type="text"></input>

CodePen和WC3等网站为您创建脚本标记、doctype和css链接。它们旨在实现快速开发,因此不需要重复这些步骤。但是,您不能简单地复制和粘贴它们的内容,并使其具有生产就绪代码

HTML文档需要有doctype和指向.js文件的链接

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title></title>
        <link rel="stylesheet" href="css/foo.css">
        <script src="js/foo.js"></script>
    </head>
    <body>
      your table goes here
    </body>
</html>

你的桌子在这里

您是否在问代码为什么有效?哪里不起作用?HTML中没有脚本元素,因此根本没有加载脚本。(您可能只是在问题中忽略了代码的重要部分,但它的定位可能很重要)。请告诉我们,您希望代码做什么,以及它做什么。在某些环境中,仅仅说“它工作正常”并不是一个问题描述。“它不工作”并不能给我们带来太多的工作机会——描述问题。顺便说一句,我看到的最常见的问题不是在运行之前等待页面加载-使用onload处理程序。基本上,用户必须在单击按钮时输入答案。它将检查输入答案是否正确。然后它将生成下一个问题的随机数。您可能希望看到可待因()中的代码
<input type="text" id="theanswer"></input>
var checkAnswer = document.getElementById('theanswer').value;
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title></title>
        <link rel="stylesheet" href="css/foo.css">
        <script src="js/foo.js"></script>
    </head>
    <body>
      your table goes here
    </body>
</html>