次の JavaScript を検討してください。
function step(show)
{
for(var i = 1; i <= 5; i++)
{
document.getElementById('step' + show).style.display = show == i ? 'block' : 'none';
}
}
step(2);
この HTML と組み合わせると:
<div id="step1">1</div>
<div id="step2">2</div>
<div id="step3">3</div>
<div id="step4">4</div>
<div id="step5">5</div>
表示されるだけだと思い#step2
ますが、代わりに反対の結果が表示されます。
1
3
4
5
ここにJSFiddleがあります。この奇妙な動作の原因は何ですか?どうすれば修正できますか?