Javascript在数组中添加/删除类只能工作一次

时间:2016-05-27 20:03:32

标签: javascript dom

我得到一个未捕获的TypeError:在我执行向该数组中的对象添加/删除类的函数之后,无法读取undefined的属性'value',其中undefined是一个数组。

代码:

var tabs = document.getElementsByClassName("et_pb_tab");
var toggles = document.getElementById("tabsacc").getElementsByClassName("et_pb_toggle");
for (var i = 0; i < toggles.length; i++) {
  toggles[i].onclick = function() {
    var active = document.querySelector(".et_pb_active_content");
    active.classList.remove("et_pb_active_content", "et-pb-active-slide");
    var num = this.className.slice(-1);
    tabs[num].classList.add("et_pb_active_content", "et-pb-active-slide");
  };
}

我基本上试图将手风琴和标签组合在一个我仍然熟悉的网站上。 jQuery库太旧了,无法使用某些当前函数,我还没有更新它。

网站是:http://www.aberdeenservices.com/ci-data-tabs

1 个答案:

答案 0 :(得分:0)

我意识到我编写代码来查找一串类的最后一个字符,但tabs模块重新排列顺序并导致错误。我使用“search()”来查找我想要的类的索引,添加长度,并使用“charAt()”来获取类末尾的数字。谢谢大家,完成的代码将在下面的链接,我已附上我的代码片段。

{{1}}

http://www.aberdeenservices.com/ci-data-tabs http://www.aberdeenservices.com/ci-data