【发布时间】:2014-01-30 17:26:07
【问题描述】:
我有一个页面加载以下 Javascript 对象 fields:
var fields = {"age":"on","email":"useremail@gmail.com","firstname":"John","lastname":"Smith","officialrules":"on","question":"a"};
如您所见,最后一个属性包含变量 question 和值 a。
在 HTML 中,我有三个 div,每个都包含一个 display:none 样式。
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
使用 Javascript,我想根据 question 中的值显示 div。所以比如说如果value=a,我想让div1的显示变成block。如果value=b,我想让div2的显示变成block,如果value=c,我想让div3的显示变成block。
我对 Javascript 很陌生,所以不确定什么是处理这个问题的最佳方法。话虽如此,当我在浏览器控制台中玩耍时,我可以使用以下行来实现此效果:
if (fields.question == 'a') {document.getElementById('div1').style.display='block';}
如何编写一个脚本来根据我的 Javascript 中的变量显示特定的 div?我假设我将不得不使用 if...then...else OR switch 语句类型。我需要先声明三个变量并获取 3 个 div 的 Element By Id 吗?我的第一条思路是这样的……但我显然被卡住了:
<script type="text/javascript">
var a = document.getElementById('div1');
var b = document.getElementById('div2');
var c = document.getElementById('div3');
if (fields.question == 'a') {document.getElementById('div1').style.display='block';}
if (fields.question == 'b') {document.getElementById('div2').style.display='block';}
if (fields.question == 'c') {document.getElementById('div3').style.display='block';}
</script>
如果这是一个超级简单的问题,我深表歉意!试图通过例子来学习。希望能深入了解如何实现这一目标。非常感谢!!
【问题讨论】:
-
id以'upgrade'开头的元素在哪里? -
嗨@DavidThomas - 我疯了,'升级'应该是'div' - 更新了问题以反映。
-
在这种情况下,我的回答应该适合你;请问你试过了吗?
标签: javascript html