用HTML编码的Javascript不起作用
Javascript encoded in HTML not working
我正在尝试做一个简单的事情,根据提示更改段落的值。我把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
。
- 幻灯片滚动javascript不起作用
- 当我在浏览器中打开HTML文件时,javascript不起作用
- 来自MDN的循环示例的JavaScript不起作用
- 在IE中切换javascript不起作用的复选框
- 在SVG中创建带有外来对象的文本区域的Javascript不起作用
- 寻呼<李>javascript不起作用
- 想制作一个基于URL的音频播放器,但Javascript不起作用
- 从Android设备浏览时Javascript不起作用
- 在 Javascript 不起作用的情况下为数字添加逗号
- 获取PHP变量的JavaScript不起作用
- 有些JavaScript不起作用
- 保存HTML文件后,Javascript不起作用
- onClick javascript不起作用
- 在Wicket ModalWindow中使用Panel时,HTML中的Javascript不起作用
- Jquery顶部的两行Javascript不起作用
- 当我通过Node服务器提供HTML时,为什么我的页面Javascript不起作用
- Javascript不起作用,但当放置断点并从chrome调试器工具中单击文件时,它可以正常工作
- 为不同的屏幕分辨率加载css样式的Javascript不起作用
- 在IE9中javascript不起作用,但在打开控制台后它就起作用了
- 为什么Javascript不起作用