问题描述
我有一个包含几个隐藏项的列表。 在我的JS中,我想要一个函数来更改此列表的项目,以便使其可见。 如果某个事件发生,我希望每个项目都变得可见。 该事件运行正常,可以将其视为震动计数= 6,以对其进行正确测试。
这是我的清单:
<div class="container"> <div class="list-group"> <div id="s1"><a href="#shake1" class="list-group-item hidden">Shake1</a></div> <div id="s2"><a href="#shake2" class="list-group-item hidden">Shake2</a></div> <div id="s3"><a href="#shake3" class="list-group-item hidden">Shake3</a></div> </div> </div>
我到目前为止尝试过的但没有成功的方法:
function nR(){ if (shakeCount>5) document.getElementbyId("s1").style.visibility ="visible"; }
提前致谢!
1楼
您是否尝试过使用Toggle?
我会推荐它,但是您可能需要从元素中删除“隐藏”类,并添加style="display: none;"
属性,以将其默认为隐藏。
<div class="container"> <div class="list-group"> <div id="s1"><a href="#shake1" class="list-group-item" style="display: none;">Shake1</a></div> <div id="s2"><a href="#shake2" class="list-group-item" style="display: none;">Shake2</a></div> <div id="s3"><a href="#shake3" class="list-group-item" style="display: none;">Shake3</a></div> </div> </div>
function nR(){ if (shakeCount>5) document.getElementbyId("s1").toggle(); }
2楼
首先,您正在使用getElementbyId它应该是getElementById (缺少大写getElementById “ B”)。
其次,您已使#shake链接的visibility:hidden ,但是在运行js时,您的目标是包装div 。
var shakeCount = 6; if (shakeCount>5) document.getElementById("s1").style.visibility ="visible";
.hidden {visibility: hidden;}
<div class="container"> <div class="list-group"> <div id="s1" class="list-group-item hidden"><a href="#shake1" >Shake1</a></div> <div id="s2" class="list-group-item hidden"><a href="#shake2" >Shake2</a></div> <div id="s3" class="list-group-item hidden"><a href="#shake3" >Shake3</a></div> </div> </div>
上面的代码隐藏了包装的div元素而不是链接,以便在js运行时显示它们。