js表的问题

时间:2016-11-16 11:54:32

标签: javascript jquery

我的表有问题,我需要在表中放几个变量,这是我的错误

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++;

提前致谢

6 个答案:

答案 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();
});