簡體   English   中英

Class 沒有在第一次點擊時被添加

[英]Class doesn't get added on first click

我添加了一個帶有 Jquery 的類名,它可以工作,但只有在我第一次點擊后才開始工作。 該代碼僅在第一次添加“類”屬性,但沒有添加值。 誰能看到我做錯了什么? (class 只是在 CSS 中添加了一個上邊距)

(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:

.mt-9{
    margin-top: 9rem;
}

這是我的 html:

<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>

你可以做.t.attr('aria-expanded')讓它工作

 $("#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"); } }
 .mt-9{ margin-top: 9rem; }
 <: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>

像這樣使用文檔就緒:

$(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");
        }
      }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM