0

我在做什么的解释。

我有 ul,里面有 li,里面有名片,数量不等。我想添加额外的 li 以显示我单击的访问卡的描述。例如,如果我单击第 2 或第 3 张卡,我想在第 4 位添加新的 li,如果我单击第 4、5 或 6 位,那么我想在第 7 位添加新的 li。

为此,我创建了一个函数,将 li 拆分为多维数组,在一个数组中包含三个 li。并且那个multimensinal数组是调用块。现在我得到了写。但我无法在我需要的地方添加新的 li。

我收到此错误 TypeError: chunks[i] is undefined

我给出了下面的代码

chunks[i] 未定义

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>');
        });
    }
}

为什么会这样?

4

1 回答 1

1

你有i++你应该有的地方j++,在内部循环中。因此,您的增量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');
        });
    }
}
于 2013-04-01T18:44:07.483 回答