我的表有问题,我需要在表中放几个变量,这是我的错误
TypeError: tabproduit[i] is undefined
tabproduit[i][0] = $(this).text();
这是我的代码
var tabproduit = new Array(new Array());
var i = 0 ;
$( ".eachnom" ).each(function( index ) {
tabproduit[i][0] = $(this).text();
i++;
});
然而,当我没有把i++;
我没有错误但我的表中只有一个变量时;
如何设置此i++;
?
提前致谢
答案 0 :(得分:1)
您不需要i
已经从jQuery方法 each()
获取索引,只需使用它:
var tabproduit = new Array(new Array());
$( ".eachnom" ).each(function( index ) {
tabproduit[index][0] = $(this).text();
});
希望这有帮助。
答案 1 :(得分:0)
更改tabproduit[0][index]
var tabproduit = new Array(new Array());
$( ".eachnom" ).each(function (index) {
tabproduit[0][index] = $(this).text();
});
console.log(tabproduit)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="eachnom">dcbmc</p>
<p class="eachnom">cnc</p>
<p class="eachnom">xcjx</p>
<p class="eachnom">xmcn</p>
<p class="eachnom">xcnx</p>
答案 2 :(得分:0)
问题是你得到了错误,因为js本质上提供了一个单维数组,你可以通过以下约定将它扩展为二维
var s = [[],[],[]]
如果没有那么你将得到数组[ith]位置总是未定义
所以我给你的建议是先获取行数然后定义
s [r1] = []; s [r2] = [] ......等等可能正在使用循环
然后你就可以进行s [r1] [c1]操作
希望有所帮助
答案 3 :(得分:0)
由于错误说&#34; tabproduit [i]未定义&#34;。你必须在循环中初始化tabproduit [i]。 试试:
var tabproduit = new Array(new Array());
var i = 0 ;
$(".eachnom").each(function( index ) {
console.log(index);
tabproduit[i]= new Array();
tabproduit[i][0] = $(this);
i++;
});
PS:不使用新的Array(),最好使用[];
答案 4 :(得分:0)
这应该有效:
var tabproduit = [];
var i = 0 ;
$( ".eachnom" ).each(function() {
tabproduit.push([$(this).text()]);
i++;
});
但我认为你要做的是:
var tabproduit = [];
var i = 0 ;
$( ".eachnom" ).each(function() {
tabproduit.push($(this).text());
i++;
});
嗯,这取决于数组的实际结构。 干杯..!
答案 5 :(得分:-2)
这可以帮助您使用代码:
ar tabproduit = new Array(new Array());
$( ".eachnom" ).each(function( index ) {
tabproduit[index][0] = $(this).text();
});