制作按钮以更改javascript

时间:2019-05-04 08:49:06

标签: javascript

我想制作一个缺少文字的游戏,您必须从其中几个中选择正确的缺少文字。 例如。 “太阳 _____。” A.光芒 B.闪耀 C.闪闪发光。

此后,应该有一个按钮,用于将丢失的单词的颜色更改为绿色(如果正确)和红色(错误)。

我试图做出if else声明,但我认为我还不够好

function myFunction() {
  if (document.getElementById("demo") = "shines") {
    document.getElementById("demo").style.color = "green";
  } else {
    document.getElementById("demo").style.color = "red";
  }
}
<p>1. The Sun
  <select>
    <option id="demo" value="shine">shine</option>
    <option id="demo" value="shining">shining</option>
    <option id="demo" value="shines">shines</option>
  </select>
</p><button onclick="myFunction()">Check!</button>

我如何使其工作?

2 个答案:

答案 0 :(得分:2)

问题在这里:

  1. 您的if语句正在分配而不是相等

    这有1个=符号

    if (document.getElementById("demo").value = "shines")
    

    应该是这样的:

    if (document.getElementById("demo").value == "shines")
    
  2. 您不应创建多个具有相同ID({{1 您的情况)。我认为您想将demo元素设置为 id而不是<select/>
  3. 您可能要检查:

    <option/>

以下代码正在运行,可以帮助您继续前进:

document.getElementById("demo").value
function myFunction() {
  if (document.getElementById("demo").value == "shines") {
    document.getElementById("demo").style.color = "green";
  } else {
    document.getElementById("demo").style.color = "red";
  }
}

答案 1 :(得分:-1)

您应该使用.value元素上的<select>而不是<option>来检查值,其次,您应该与=====进行比较,不适用于=

function myFunction() {
  if (document.getElementById("demo").value === "shines") {
    document.getElementById("demo").style.color = "green";
  } else {
    document.getElementById("demo").style.color = "red";
  }
}
<!DOCTYPE html>
<html>

<head>
  <title>Present Simple</title>
</head>

<body>
  <p>1. The Sun
    <select id="demo">
      <option value="shine">shine</option>
      <option value="shining">shining</option>
      <option value="shines">shines</option>
    </select>
  </p><button onclick="myFunction()">Check!</button>
</body>
</html>