从bootstrap 4关闭选项卡中删除活动类

时间:2017-01-11 20:10:35

标签: jquery tabs bootstrap-4 bootstrap-tabs

感谢@Eric G,我有一个选项卡窗格,当您单击选项卡时切换打开/关闭。既然选项卡窗格切换(js删除活动类),我还将如何删除选项卡本身的活动类?我在.active类上有样式表示一个"活动标签"。我想在关闭选项卡时删除该类。

我的例子:http://codepen.io/anycircle/pen/dNMPrW

<li class="nav-item">
    <a href="#panel-search" class="nav-link" role="tab" data-toggle="tab" data-parent="#panel-container" data-target="#panel-search">Tab</a>
</li>

<div role="tabpanel" class="tab-pane fade" id="panel-search">
Tab Pane
</div>

$(document).ready(function(){
    $(".nav-link").click(function(){
        if ($(this).hasClass('active')){
            $('#' + this.hash.substr(1).toLowerCase()).toggleClass('active');
        }
    });
});

2 个答案:

答案 0 :(得分:1)

您可以使用e.relatedTarget从事件数据中找到以前选择的标签信息。您可以使用散列来定位具有相同ID的tap窗格类。

$('a[data-toggle="tab"]').on('shown.bs.tab',
            function (e) {
                $('div' + e.relatedTarget.hash + '.tab-pane').removeClass('active');
            });

答案 1 :(得分:0)

试试这个

    $(document).ready(function(){
        $(".nav-link").click(function(){
          var me = $(this);
          var panel = $('#' + this.hash.substr(1).toLowerCase());
          if(me.hasClass('active')){
             me.removeClass('active');
            panel.removeClass('active');     
                return false;
          }
        });
    });