javascript - 为什么这个 javascript 提示不起作用?

标签 javascript getelementbyid prompt

我试图在您输入特定糖果的名称时弹出其图像,但只有 Ghirardelli 有效。

<p id="chocolate"></p>
<img src="hershey.jpg" id="pic">
<script>
var y = prompt("What would you like to see a picture of?");
if (y == "Hershey")
{
    document.getElementById("chocolate").innerHTML="Hershey";
}
if (y == "Reeses")
{
    document.getElementById("chocolate").innerHTML="Reeses";
    document.getElementById("pic").src="reeses.jpg";
}
if (y == "Ghiradelli")
{
    document.getElementById("chocolate").innerHTML="Ghiradelli";
    document.getElementById("pic").src="ghiradelli.jpg";
}
else
{
    document.getElementById("chocolate").innerHTML="Please choose one of these three things: <ul><li>Hershey</li><li>Reeses</li><li>Ghiradelli</li></ul>";
    document.getElementById("pic").src="x.svg";
}
</script>

最佳答案

那是因为你只有一个else在整个事情中。前两个 if 语句独立运行。他们工作,但最终if当它们是的时候就不是真的,所以 else 中的逻辑覆盖前两个 if 的任何内容是的。

剩下的就做吧else if .

var y = prompt("What would you like to see a picture of?");
if (y == "Hershey")
{
    document.getElementById("chocolate").innerHTML="Hershey";
}
else if (y == "Reeses")
{
    document.getElementById("chocolate").innerHTML="Reeses";
    document.getElementById("pic").src="reeses.jpg";
}
else if (y == "Ghiradelli")
{
    document.getElementById("chocolate").innerHTML="Ghiradelli";
    document.getElementById("pic").src="ghiradelli.jpg";
}
else
{
    document.getElementById("chocolate").innerHTML="Please choose one of these three things: <ul><li>Hershey</li><li>Reeses</li><li>Ghiradelli</li></ul>";
    document.getElementById("pic").src="x.svg";
}

关于javascript - 为什么这个 javascript 提示不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40623785/

相关文章:

javascript - 选择 1 后无法切换到下一个案例

javascript:获取textarea的内容,textContent vs. innerHTML vs. innerText

javascript - 我应该将 "document.getElementById("").innerHTML = "";"放在我的 Javascript 中的哪里?

javascript - Phonegap 和 prompt()

javascript - 带有 ng-model 的 Angular 1.5 组件

php - 无需使用 javascript 将 POST 页面加载到 &lt;iframe&gt;

javascript - 如何在动画 JavaScript anchor 滚动时编辑 URL 名称?

javascript - 从 AngularJS 中的本地数组加载更多数据

javascript - React-js 如何触发 'BeforeInstallPromptEvent' 启动 "pop up"添加到主屏幕

python - IPython 5.0 : Remove spaces between input lines