说明我在做什么
我有一个有li的ul,里面有拜访卡,数量不同。我想添加额外的li来显示我点击的访问卡的描述。例如,如果我点击第1、2或3张牌,我想在第4位添加新的li;如果我点击第4、5或6张牌,那么我想在第7位添加新的li。
为此,我编写了一个函数将li拆分为数组中有三个li的多维数组。这个多维数组叫做chunk。现在我收到信了。但是我不能在我需要的地方添加新的li。
我得到这个错误TypeError: chunks[i] is undefined
我给出了下面的代码
chunks[i] is undefined
chunks = [
[li.pL14, li, li.pR15],
[li.pL14, li, li.pR15],
[li.pL14, li, li.pR15],
[li.pL14, li, li.pR15],
[li.pL14, li, li.pR15]
]
for (var i=0; i<chunks.length; i++) {
for (var j=0; j<chunks[i].length; j++) {
$(chunks[i][j]).click(function() {
$(chunks[i][j]).append('<li class="description"> <div class="cardDesCont mT1Mi"></div></li>');
});
}
}
为什么会这样?
在内环中应该有j++
的地方有i++
。所以你增加的i
超出了数组的边界。你的代码应该是:
for (var i=0; i<chunks.length; i++) {
for (var j=0; j<chunks[i].length; j++) {
// --------------------- HERE ^^^
$(chunks[i][j]).click(function() {
console.log('script works');
});
}
}