在多维数组中添加元素的Click事件

时间:2013-04-01 18:38:24

标签: javascript jquery arrays multidimensional-array

对我正在做的事情的解释。

我有ul,其中有一张名片,而且其中的名字有所不同。我想添加额外的li来显示我点击的visting卡的描述。如果我点击第一张第二张或第三张牌,我想在第四张添加新李,如果我点击第4或第5,那么我想在第7位添加新的李。

为此,我做了一个函数将li分成多维数组,在数组中有三个li。并且mulidimensinal数组是调用块。现在我得到了写作。但我无法在我要求的地方提出新的李。

我收到此错误TypeError:chunks [i]未定义

我给出了以下代码

  

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

为什么会这样?

1 个答案:

答案 0 :(得分: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');
        });
    }
}