我试图做一个简单的事情,根据提示更改段落的值。我将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>
答案 0 :(得分:4)
语法错误。如果条件允许,请在下面更正
if (change === '2') {
http://codepen.io/nagasai/pen/yJRQNO
要使功能正常工作,请将条件比较更新为字符串值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>
答案 1 :(得分:1)
你需要包围你的if条件,这将在下面工作..你应该将它设为else if
,因为如果change
的值为1
,它将始终进入最后<{1}}子句..(转换声明可能会更好),无论如何,这将起作用。
else
答案 2 :(得分:0)
根据我的观点,第二个if语句有语法错误。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else
答案 3 :(得分:0)
这里有三个问题。
1)change
将是一个字符串,而不是整数
2)第二个条件周围没有parens
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.";
}
&#13;
<p id="change"> </p>
&#13;
答案 4 :(得分:0)
change
是一个字符串。您正在使用===
将其与数字进行比较,后者会检查类型,因此无法正常工作。
你也应该:
使用parseInt
将输入的字符串转换为数字:
var change = parseInt( prompt("Enter 1 or 2"), 10);
使用==
,它将忽略类型:
if(change == 1)
使用字符串作为比较:
if(change === "1")
你的第二个条件周围也缺少括号,你应该在那里使用else if
。