gpt4 book ai didi

javascript - jQuery 选择与纯 JavaScript

转载 作者:行者123 更新时间:2023-12-02 13:59:41 26 4
gpt4 key购买 nike

我采用了 w3cschool 的示例来构建 Accordion 菜单。该示例是用纯 JavaScript 编写的。我想用 jQuery 重写它,但它不起作用。这是原文:

var acc = document.getElementsByClassName("accordion");
var i;

for (i = 0; i < acc.length; i++) {
acc[i].onclick = function () {
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}

这是我的 jQuery 版本:

$(".accordion").each(function (index) {
$(this).click(function () {
$(this).toggleClass("active");
$(this).next().toggleClass("show");
});
});

所选项目会展开,但打开的项目不会关闭。我的 jQuery 哪里错了?

谢谢!

最佳答案

您需要从其他 Accordion 中删除类。

$(".accordion").click(function () {     
var self = $(this);

//get other accordions
var otherAccordion = $(".accordion").not(self);
//remove classes
otherAccordion.removeClass("active");
otherAccordion.next().removeClass("show");

//toggle classes
self.toggleClass("active");
self.next().toggleClass("show");
});

并且不需要 .each() 来绑定(bind)事件

关于javascript - jQuery 选择与纯 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40502448/

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