首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类在第一次单击时不会添加

类在第一次单击时不会添加
EN

Stack Overflow用户
提问于 2022-02-09 09:27:03
回答 2查看 162关注 0票数 0

我用Jquery添加了一个类名,它可以工作,但只在我第一次单击之后才开始工作。代码只在第一次添加“class”属性,但没有添加该值。有人能看出我做错了什么吗?(这个类只是在CSS中添加了一个顶部的空白处)

代码语言:javascript
复制
(function(){
    $(document).ready(Setup)

    function Setup(){
        $("#navBarBehandeling").on('click',CheckDropDown);
    }
    $("#navBarBehandeling").on('click',CheckDropDown);
    function CheckDropDown(){
        var t = $(this);
        if(t.attr('aria-expanded')=='false'){
           $('main').addClass("mt-9");

        }
        else{
            $('main').removeClass("mt-9");
        }

    }
}()

这是我的css:

代码语言:javascript
复制
.mt-9{
    margin-top: 9rem;
}

这是我的html:

代码语言:javascript
复制
<head>
   CDN's for Jquery and bootstrap
</head>
<body>
    <header>
        <div id="navBarBehandeling"> navbar with dropdown here></div>
    </header>
    <main>
        <p> blablabla </p>
    </main>
</body>
EN

回答 2

Stack Overflow用户

发布于 2022-02-09 09:57:55

你只需做!t.attr('aria-expanded')就行了

代码语言:javascript
复制
$("#navBarBehandeling").on('click',CheckDropDown);
function CheckDropDown() {
    var t = $(this);

    if (!t.attr('aria-expanded')) {
       console.log('addClass');
       $('main').addClass("mt-9");
    } else{
      console.log('removeClass');
      $('main').removeClass("mt-9");
    }
}
代码语言:javascript
复制
.mt-9{
    margin-top: 9rem;
}
代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <head>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  </head>
  <body>
      <header>
          <div id="navBarBehandeling"> navbar with dropdown here></div>
      </header>
      <main>
          <p> blablabla </p>
      </main>
  </body>
</html>

票数 0
EN

Stack Overflow用户

发布于 2022-02-09 11:15:56

使用文档就绪如下:

代码语言:javascript
复制
$(document).ready(function () {
      $("#navBarBehandeling").on("click", CheckDropDown);
      function CheckDropDown() {
        var t = $(this);
        if (t.attr("aria-expanded") == "false") {
          $("main").addClass("mt-9");
        } else {
          $("main").removeClass("mt-9");
        }
      }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71046967

复制
相关文章

相似问题

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