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

数组中的Javascript添加/删除类只工作一次,javascript,dom,Javascript,Dom,我得到了一个未捕获的TypeError:在我执行一个向数组中的对象添加/删除类的函数后,无法读取undefined的属性“value”,其中undefined是一个数组 守则: var tabs=document.getElementsByClassName(“et_pb_tab”); var toggles=document.getElementById(“tabsacc”).getElementsByClassName(“et_pb_toggle”); 对于(变量i=0;i

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

守则:

var tabs=document.getElementsByClassName(“et_pb_tab”);
var toggles=document.getElementById(“tabsacc”).getElementsByClassName(“et_pb_toggle”);
对于(变量i=0;i}
我意识到我编写代码是为了查找类字符串的最后一个字符,但是tabs模块重新排列了顺序并导致了一个错误。我改为使用“search()”查找我想要的类的索引,添加长度,并使用“charAt()”获取类末尾的数字。谢谢大家,完成的代码将在下面的链接,我已经附上了我的代码片段


var tabs=document.getElementsByClassName(“et_pb_tab”);
var toggles=document.getElementById(“tabsacc”).getElementsByClassName(“et_pb_toggle”);
对于(变量i=0;i
我意识到我编写代码是为了查找类字符串的最后一个字符,但是tabs模块重新排列了顺序并导致了一个错误。我改为使用“search()”查找我想要的类的索引,添加长度,并使用“charAt()”获取类末尾的数字。谢谢大家,完成的代码将在下面的链接,我已经附上了我的代码片段


var tabs=document.getElementsByClassName(“et_pb_tab”);
var toggles=document.getElementById(“tabsacc”).getElementsByClassName(“et_pb_toggle”);
对于(变量i=0;i
您不能访问代码中的任何地方的
值。您可以按类获取元素,然后删除该类并希望使用该元素。按id获取。这不是一个字符串吗?所以
.slice(-1)
返回它的最后一个字符?这是有意的吗?@Siguza看起来希望
className
是一个以制表符编号结尾的类,所以他将其用作
tabs
的索引。问题是以制表符编号结尾的类不在
this.className
的末尾。出现错误时,
此.className
“et\u pb\u模块et\u pb\u切换et\u pb\u手风琴项目0 et\u pb\u切换\u关闭”
,因此,它将
num
设置为
e
而不是
0
。您不能访问代码中的任何地方的
值。您可以按类获取元素,然后删除该类并使用该元素。按id获取。这不是一个字符串吗?所以
.slice(-1)
返回它的最后一个字符?这是有意的吗?@Siguza看起来希望
className
是一个以制表符编号结尾的类,所以他将其用作
tabs
的索引。问题是以制表符编号结尾的类不在
this.className
的末尾。当错误发生时,
这个.className
“et_pb_模块et_pb_切换et_pb_手风琴”\u项目0 et_pb_切换_关闭”
,因此它将
num
设置为
e
,而不是
0