Javascript 为多维数组中的元素添加单击事件
对我正在做的事情的解释 我有ul,有李,里面有名片,数量不一。我想添加额外的li以显示我单击的访客卡的描述。例如,如果我点击了第1张、第2张或第3张卡,我想在第4位添加新的li。如果我点击了第4张、第5张或第6张卡,那么我想在第7位添加新的li 为此,我制作了一个函数,将li拆分为多维数组,数组中有三个li。这个多维数组就是调用块。现在我拿到了信。但是我不能在我需要的地方会见新李 我得到一个错误类型错误:chunks[i]是未定义的 我给出了下面的代码 块[i]未定义Javascript 为多维数组中的元素添加单击事件,javascript,jquery,arrays,multidimensional-array,Javascript,Jquery,Arrays,Multidimensional Array,对我正在做的事情的解释 我有ul,有李,里面有名片,数量不一。我想添加额外的li以显示我单击的访客卡的描述。例如,如果我点击了第1张、第2张或第3张卡,我想在第4位添加新的li。如果我点击了第4张、第5张或第6张卡,那么我想在第7位添加新的li 为此,我制作了一个函数,将li拆分为多维数组,数组中有三个li。这个多维数组就是调用块。现在我拿到了信。但是我不能在我需要的地方会见新李 我得到一个错误类型错误:chunks[i]是未定义的 我给出了下面的代码 块[i]未定义 chunks=[ [li.
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]
]
对于(var i=0;i您在内部循环中有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');
});
}
}
for(var i=0;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');
});
}
}