使用 Javascript 单击时显示 1 个 div 并隐藏所有其他 div

2023-12-06

我正在我的网站上设置一个“个人简介”部分,我有 3 张员工图片和 3 个 div,每个员工的个人简介如下。我想默认隐藏所有BIOS,然后仅显示与单击的图像关联的div,并隐藏所有其他div。

目前看来它没有找到元素,因为我得到“未定义”

这是到目前为止我的 HTML:

<div onclick="showhide('bill');" class="bio_image"><div class="name">Bill Murray</div></div>
<div onclick="showhide('bill2');" class="bio_image"><div class="name">Bill Murray</div></div>
<div onclick="showhide('bill3');" class="bio_image"><div class="name">Bill Murray</div></div>
<div class="hide" id="bill">BILL</div>
<div class="hide" id="bill2">BILL2</div>
<div class="hide" id="bill3">BILL3</div>

还有我的 JavaScript:

function showhide(id){
        if (document.getElementById) {
          var divid = document.getElementById(id);
          var divs = document.getElementsByClassName("hide");
          for(var div in divs) {
             div.style.display = "none";
          }
          divid.style.display = "block";
        } 
        return false;
 }

JSFiddle

有任何想法吗?谢谢!


使用常规的for循环作为for in循环将循环遍历 NodeList 的其他属性,而不仅仅是元素列表

function showhide(id){
        if (document.getElementById) {
          var divid = document.getElementById(id);
          var divs = document.getElementsByClassName("hide");
          for(var i=0;i<divs.length;i++) {
            divs[i].style.display = "none";
          }
          divid.style.display = "block";
        } 
        return false;
 }

JSFiddle

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Javascript 单击时显示 1 个 div 并隐藏所有其他 div 的相关文章