Javascript 为什么我的开关坏了?
我有一个switch语句,如果你输入一个数字标记,它会给你一个字母标记。我没有从chrome中得到任何错误,所以我不知道我做错了什么。我会把它格式化错吗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"
<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