gpt4 book ai didi

javascript - 类列表切换不会为 div 添加/切换类名

转载 作者:行者123 更新时间:2023-12-04 17:26:17 25 4
gpt4 key购买 nike

我的目标是每次按下按钮时显示一个列表,有点像下拉列表,所以我做了一些测试 html、css 和 js 文件,但不知何故它不起作用,我的 js 代码中的日志功能在控制台上输出“year”一词,但类列表切换似乎没有更改/添加 div 类上的“事件”。

下面是我的js。

function btnFunction(identifier){
console.log(identifier)
var element = document.getElementById(identifier);
element.classList.toggle("active");}

下面是我的html。

<div class="modal-content-col-6-drop">
<button onclick="btnFunction('year')" class="drop-btn">sample</button>
</div>

<div id="year" class="select">
<ul>
<li>0 Year</li>
<li>1 Year</li>
</ul>
</div>

下面是我的 CSS。

#year{
display: none;
}
.active{
display: block;
}




最佳答案

基于 id 的 css 选择器优先于基于类的选择器。所以 id year 将始终是 display: none 即使它有事件的类。因此,最好的解决方案是不要将 id 用于 css 选择器。

更好的解决方案是

.select{
display: none;
}
.select.active{
display: block;
}

您可以阅读更多关于选择器特异性的信息 here .

我将在此处包含一个片段:

function btnFunction(identifier){
console.log(identifier)
var element = document.getElementById(identifier);
element.classList.toggle("active");
}
.select{
display: none;
}
.select.active{
display: block;
}
<html>
<body>
<div class="modal-content-col-6-drop">
<button onclick="btnFunction('year')" class="drop-btn">sample</button>
</div>

<div id="year" class="select">
<ul>
<li>0 Year</li>
<li>1 Year</li>
</ul>
</div>
</body>
</html>

关于javascript - 类列表切换不会为 div 添加/切换类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63099318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com