gpt4 book ai didi

javascript - Vanilla Javascript : Remove toggle class from X element if I click on Y element with the same toggle class

转载 作者:行者123 更新时间:2023-11-29 17:35:23 27 4
gpt4 key购买 nike

我目前正在开发一个侧边栏菜单,在该菜单中我切换类别上的“选定”类别,该类别的类别名称为“sidebar-category”。

使用 jQuery,我可以轻松实现我想要的目标:切换“选定”类后(如果我单击另一个类别),先前的类别将被删除,然后应用于当前单击的类别:

$('.sidebar-category').click(function() {
$(".sidebar-category").not(this).removeClass("selected");
$(this).toggleClass('selected');
});

我的问题是,对于这个元素,我不能使用 jQuery,而必须使用 vanilla Javascript。

到目前为止,我可以轻松实现切换,但我不确定在使用普通 Javascript 单击另一个类别时如何删除该类。这是我当前的代码:

var selectCategory = document.getElementsByClassName('sidebar-category');

for (var i = 0, l = selectCategory.length; i < l; i++) {
selectCategory[i].onclick = function() {
this.classList.toggle('selected');
}
}

最佳答案

删除selected类的jQuery代码相当于一个循环。所以只需在事件监听器中编写该循环即可。

var selectCategory = document.getElementsByClassName('sidebar-category');

for (var i = 0, l = selectCategory.length; i < l; i++) {
selectCategory[i].onclick = function() {
for (var j = 0; j < l; j++) {
if (selectCategory[j] != this) {
selectCategory[j].classList.remove("selected");
}
}
this.classList.toggle('selected');
}
}

关于javascript - Vanilla Javascript : Remove toggle class from X element if I click on Y element with the same toggle class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57014611/

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