我创建了一个函数,它接收一个列表作为输入,然后对该列表进行操作:
function selected_items(list) {
for (i=0;i<=list.length;i++){
item = list[i].split("-");
item_id = item[0] + '-' + item[1] + '-' + item[2]
user_id = item[4]
$('#shift_data_' + user_id).children('#' + item_id).toggleClass('selected')
}
}
列表由如下字符串组成:["a-b-c", "a1-b1-c1"等]
我想一个一个地处理字符串,在操作符"-"之后分割它们,然后做一些工作来帮助我在DOM中选择一些项目。
有趣的部分是,代码工作如预期,但在控制台我得到下面的错误:
TypeError: list[i] is undefined
--> item = list[i].split("-");
关于为什么我得到这个错误的想法,即使代码是工作的?
您正在循环超出范围的列表。试着修改一下:
for (i=0; i<=list.length; i++){
由:for (i=0; i<=list.length - 1; i++){
或:
for (i=0; i < list.length; i++){