如何关闭除单击的所有div以外的所有div

问题描述

当单击链接时,我具有更改超棒字体的功能,并显示或隐藏div。这是我的jsfiddle,但由于无法使字体很棒而无法正常工作,但这不是本文的目的。我正在使用的代码如下。在switchView函数中,我遇到的问题是四行,以注释“关闭所有部分”的一行开始。如果我删除这部分

    [id!='+obj+']

代码有效。但是,它将重置所有div,包括当前的div。因此,由于初始条件已更改,因此以下代码无法正常工作。我添加了该行以尝试在重置中不包括当前项目。没有它,隐藏的div将打开和关闭。但是,这样做不起作用。有人请为该命令指出正确的语法吗?

    <script>
    function switchView(obj,iconsrc) {
     var icon = iconsrc + '-icon';
     $('div[id*="statusMsg"][id!='+obj+']').hide(); //close all the sections
     $('i[id*="-icon"][id!='+obj+']').removeClass('fa-hand-point-up');
     $('i[id*="-icon"][id!='+obj+']').addClass('fa-hand-point-down');
     $('i[id*="-icon"][id!='+obj+']').prop('title','show');
     
     if ( $("#"+icon).attr('title') == 'hide' ) {
       $("#"+icon).removeClass('fa-hand-point-up');
       $("#"+icon).addClass('fa-hand-point-down');
       $("#"+icon).prop('title','show');
       $("#"+obj).css('display','none');
     } else {
       $("#"+icon).removeClass('fa-hand-point-down');
       $("#"+icon).addClass('fa-hand-point-up');
       $("#"+icon).prop('title','hide');
       $("#"+obj).css('display','block');
     }
    }
    </script>  

    <div>
     <div><b><a href="#" onClick="switchView('statusOne','imgStatusOne'); return false;"><i class="far fa-hand-point-down" id="imgStatusOne-icon" title="show"></i>Item One</a></b></div>
     <div id="statusMsgOne" style="display:none"> </div>
    </div> 
               
    <div>
     <div><b><a href="#" onClick="switchView('statusTwo','imgStatusTwo'); return false;"><i class="far fa-hand-point-down" id="imgStatusTwo-icon" title="show"></i>Item Two</a></b></div>
     <div id="statusMsgTwo" style="display:none"> </div>
    </div> 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)