用HTML编码的Javascript不起作用

Javascript encoded in HTML not working

本文关键字:Javascript 不起作用 编码 HTML      更新时间:2023-09-26

我正在尝试做一个简单的事情,根据提示更改段落的值。我把javascript编码到html中。但是当我运行它时,屏幕是空白的。提示甚至没有出现。我是初学者,所以这可能很容易解决,但有人可以帮忙吗?提前谢谢你。

<!DOCTYPE html>
<html>
    <head>
        <title>Randomness!</title>
    </head>
    <body>
        <p id="change"> </p>
        <script>
            var change = prompt("Enter 1 or 2");
            if (change === 1) {
                document.getElementById("change").innerHTML = "You said one!";
            }
            if change === 2 {
                document.getElementById("change").innerHTML = "You said two!";
            }
            else {
                document.getElementById("change").innerHTML = "That was not an option.";
            }
        </script>
    </body>
</html>

语法错误 。如果条件使其正常工作,请在下面更正

  if (change === '2') {

http://codepen.io/nagasai/pen/yJRQNO

若要使功能正常工作,请将 if 条件比较更新为字符串值 1 和 2

.HTML:

<html>
    <head>
        <title>Randomness!</title>
    </head>
    <body>
        <p id="change"> </p>
        <script>
            var change = prompt("Enter 1 or 2");
console.log(change)
            if (change === '1') {
                document.getElementById("change").innerHTML = "You said one!";
            }
            else if (change === '2') {
                document.getElementById("change").innerHTML = "You said two!";
            }
            else {
                document.getElementById("change").innerHTML = "That was not an option.";
            }
        </script>
    </body>
</html>

你需要包围你的if条件,这将在下面工作..你也应该把它作为一个else if,因为如果change的值是1它将总是进入最后一个else子句。(开关语句可能会更好(无论如何,这将起作用。

   var change = prompt("Enter 1 or 2");
   if (change === '1') {
      document.getElementById("change").innerHTML = "You said one!";
   }
   else if (change === '2') {
       document.getElementById("change").innerHTML = "You said two!";
   }
   else {
       document.getElementById("change").innerHTML = "That was not an option.";
  }

根据我的意见,第二个 if 语句存在语法错误。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else

这里有三个问题。

1(change将是字符串,而不是整数
2(第二个条件
周围没有括号3(条件应为else if

尝试:

var change = prompt("Enter 1 or 2");
if (change === '1') {
  document.getElementById("change").innerHTML = "You said one!";
} else if (change === '2') {
  document.getElementById("change").innerHTML = "You said two!";
} else {
  document.getElementById("change").innerHTML = "That was not an option.";
}
<p id="change"> </p>

change 在出现提示时是一个字符串。您正在使用 === 将其与数字进行比较,这会检查类型,因此它不起作用。

你要么:

  • 使用 parseInt 将输入的字符串转换为数字:

    var change = parseInt( prompt("Enter 1 or 2"), 10);

  • 使用 == ,这将忽略类型:

    if(change == 1)

  • 使用字符串作为比较:

    if(change === "1")

你的第二个条件也缺少括号,你应该在那里使用else if