3 回答
TA贡献1797条经验 获得超4个赞
我认为节点数组没有长度属性。
你应该使用 forEach 而不是 for 循环
acc.forEach(function(element) {
element.addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.display === "block") {
panel.style.display = "none";
} else {
panel.style.display = "block";
}
});
})
我希望它能帮助你
TA贡献1858条经验 获得超8个赞
我认为您没有accordion为任何元素添加一个类。因为我accordion在您的 html 代码中看不到任何具有类名的元素。但是在你的 javascriptcode 里面,在第一行你试图搜索一个类名为accordion.
TA贡献1821条经验 获得超5个赞
变量acc在开始声明后不会自动更新。
您将需要acc在 for 循环上方再次检索变量的值。即在 for 循环上方,您需要添加这样的行
acc = document.getElementsByClassName("accordion");
for (i = 0; i < acc.length; i++) {
....
添加回答
举报
