为多维数组中的元素添加Click Event



说明我在做什么

我有一个有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');
        });
    }
}

相关内容

  • 没有找到相关文章

最新更新