gpt4 book ai didi

javascript - 有没有办法兄弟非事件 div?

转载 作者:行者123 更新时间:2023-11-30 19:06:54 25 4
gpt4 key购买 nike

我想获取所有没有“事件”类的元素。这是我的脚本:

HTML:

<nav class="nav">
<li>
<a href="#Home"><i class="fas fa-home btn active"></i></a>
</li>
<li>
<a href="#About"><i class="fas fa-user-astronaut btn"></i></a>
</li>
<li>
<a href="#Contact"><i class="fas fa-file-contract btn"></i></a>
</li>
</nav>

Javascript:

var btn = document.querySelectorAll(".btn");
for (let i = 0; i < btn.length; i++) {
btn[i].addEventListener("click", () => {
var elements = document.getElementsByClassName("active");
if (btn.length > 0) {
elements[0].className = elements[0].className.replace("active", "");
}
btn[i].className += " active";
});
}

最佳答案

我想获取所有没有“事件”类的元素。

你可以像这样使用 :not(.active):

var nonActive = document.querySelectorAll(".btn:not(.active)");

您可以在 a 元素中使用 active 类代替 i。我认为您可以通过以下方式实现您的目标:

var btn = document.querySelectorAll("a");
Array.from(btn).forEach(function(el){
el.addEventListener("click", () => {
Array.from(btn).forEach(b => b.classList.remove('active'));
el.classList.add('active');
});
});
li{
list-style-type: none;
}
.active{
color: green;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src='https://kit.fontawesome.com/a076d05399.js'></script>
<nav class="nav">
<li>
<a href="#Home" class="active"><i class="fas fa-home btn"></i>Home</a>
</li>
<li>
<a href="#User"><i class="fas fa-user-astronaut btn"></i>User</a>
</li>
<li>
<a href="#Contact"><i class="fas fa-file-contract btn"></i>Contact</a>
</li>
</nav>

关于javascript - 有没有办法兄弟非事件 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58896509/

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