我用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>发布于 2022-02-09 09:57:55
你只需做!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>
发布于 2022-02-09 11:15:56
使用文档就绪如下:
$(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");
}
}
});https://stackoverflow.com/questions/71046967
复制相似问题