当前位置: 代码迷 >> JavaScript >> 使用JS将列表组项目从隐藏更改为可见
  详细解决方案

使用JS将列表组项目从隐藏更改为可见

热度:97   发布时间:2023-06-12 13:46:22.0

我有一个包含几个隐藏项的列表。 在我的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"; } 

提前致谢!

您是否尝试过使用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(); } 

首先,您正在使用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运行时显示它们。

  相关解决方案