Javascript 为什么我的开关坏了?

Javascript 为什么我的开关坏了?,javascript,html,switch-statement,Javascript,Html,Switch Statement,我有一个switch语句,如果你输入一个数字标记,它会给你一个字母标记。我没有从chrome中得到任何错误,所以我不知道我做错了什么。我会把它格式化错吗 <html> <body> <h1>Rank Your Mark!!</h1> Enter your mark to rank it. <input type="number" name="grade" id="mark"> <input type="button"

我有一个switch语句,如果你输入一个数字标记,它会给你一个字母标记。我没有从chrome中得到任何错误,所以我不知道我做错了什么。我会把它格式化错吗

<html>
   <body>
<h1>Rank Your Mark!!</h1>
Enter your mark to rank it.

 <input type="number" name="grade" id="mark">
 <input type="button" name="mark" id="grade" value="Rate" onclick="rateMark()">

      <script>
function rateMark(){
  switch(grade)
  {
    case"F":
      mark > 50;
      break;

    case"D":
      mark >= 50 && mark <=59.9;
      break;

    case"C":
      mark >= 60 && mark <=69.9;
      break;

    case"B":
      mark >= 70 && mark <= 79.9;
      break;

    case"A":
      mark >= 80 && mark <= 89.9;
      break;

    case"A+":
      mark >= 90 && mark <= 100;
      break;
  }
  document.getElementById("demo").innerHTML = "You got a" + mark;
}
  </script>
  <br>
<p id="demo"></p>
   </body>
   </html>

排名你的分数!!
输入您的分数以对其进行排名。
功能等级标记(){
道岔(坡度)
{
案例“F”:
评分>50分;
打破
案例“D”:

标记>=50&&mark=60&&mark=70&&mark=80&&mark=90&&mark如果使用的方法不正确,请检查它的工作原理

您要做的是比较等级变量是否为“F”、“D”、“C”

使用
if
else if
并将您的语句放入其中,如下所示:

var mark = document.getElementById('mark').value // gets the input value to "mark" variable
if(mark >= 70 && mark <= 79.9){
   // do something here
} else if(mark >= 80 && mark <= 89.9){
   // do another thing here
}
var-mark=document.getElementById('mark')。value//获取“mark”变量的输入值
如果(标记>=70&&mark=80&&mark请参见:


排名你的分数!!
输入您的分数以对其进行排名。
功能等级标记(){
mark=document.getElementById(“mark”).value
如果(标记<50){
mark=“F”

}else if(mark>=50&&mark=60&&mark=70&&mark=80&&mark=90&&mark
开关
不能这样工作;如果
/
你需要一个
链,否则如果
@Blakethepatton,你知道我做错了什么吗,因为它显示了一个[object htmlinput元素]而不是字母?@Blakethepatton:好吧,我最初假设
等级
是一个数字,字母等级应该是输出,但我想他们可能想要“你得到了一个>=60&&如果它大于60,小于或等于69.9,那么情况就是这样。@RyanJust仅供参考,你在后面缺了一个空格。”“你有一个"在你的引号内,这仍然是不正确的。如果你想实际得到输入的值,你需要使用
mark.value
。是的,但他甚至没有得到输入的值。我只是想告诉他如何使用假定其值在标记上的语句variable@KyleMartin使用
mark.value
不会解决此问题,因为OP缺少一条语句,如
var-mark=document.getElementById(“mark”);
var-mark=document.getElementById(“mark”).value;
无论如何都更干净,这也是我的想法,尽管这个JSFiddle不这么说。老实说,我不太清楚为什么会这样。@KyleMartin我没有错。我以前从未见过有人这样引用元素,但正如你所说,它在没有
getElementById
的情况下工作,而且它确实需要
这样做时标记.value