首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当用户单击时,jQuery动态添加和删除类。

当用户单击时,jQuery动态添加和删除类。
EN

Stack Overflow用户
提问于 2016-08-20 01:42:06
回答 1查看 658关注 0票数 0

下面的代码有问题。我的导航 tab -1和Tab-2中有两个选项卡,当用户单击任何选项卡时,我希望向其添加 active 类,同时从以前的活动选项卡中删除active类。此外,当前处于活动状态的选项卡应该显示其内容,并必须隐藏其余的内容。这意味着当用户单击任何选项卡时,它应该只显示其内容,而其他内容应该隐藏。请帮我谢谢。

代码语言:javascript
复制
<style>
    .wrapper .tabs {
        display: none;
    }
    .wrapper .tabs.active {
        display: block;
    }
</style>
代码语言:javascript
复制
<div class="wrapper">

    <!-- Navigation -->
    <ul class="nav">
        <li class="active"><a href="#tab-1">Tab-1</a></li>
        <li><a href="#tab-2">Tab-2</a></li>
    </ul>

    <!-- Panel-1 -->
    <div id="tab-1" class="tabs active">
        <p>Tab-1 Content</p>
    </div>

    <!-- Panel-2 -->
    <div id="tab-2" class="tabs">
        <p>Tab-2 Content</p>
    </div>

</div>

代码语言:javascript
复制
<!-- Script -->
<script>
    $(document).ready(function () {
        $('.nav li').click(function() {
            $('.nav li.active').removeClass('active');
            $(this).addClass('active');
        });

        // To display content for active class only
        $('.nav li').click(function() {
            $('.wrapper .tabs.active').removeClass('active');
            $(this).addClass('active');
        });
    });
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-20 02:21:46

您可以使用.eq().index()click事件中附加到选择器"a[href^='#tab-']",选择以#tab-开头的元素,创建变量引用元素,其中idtab-开头,在click函数中调用event.preventDefault(),以防止对文档片段的导航,.hide()d11

代码语言:javascript
复制
   $(document).ready(function() {
     var a = $("a[href^='#tab-']");
     var tabs = $("[id^=tab]");
     a.click(function(e) {
       e.preventDefault();
       tabs.hide().eq(a.index(this)).show()
     })
   })
代码语言:javascript
复制
#tab-1 {
  display: block;
}
[id^="tab"]:not(#tab-1) {
  display: none;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js">
</script>
<div class="wrapper">
  <!-- Navigation -->
  <ul class="nav">
    <li>
      <a href="#tab-1">Tab-1</a>
    </li>
    <li>
      <a href="#tab-2">Tab-2</a>
    </li>
  </ul>
  <!-- Panel-1 -->
  <div id="tab-1" class="tabs active">
    <p>Tab-1 Content</p>
  </div>
  <!-- Panel-2 -->
  <div id="tab-2" class="tabs">
    <p>Tab-2 Content</p>
  </div>
</div>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39049688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档