2013-12-12 22 views
0

我有以下代码,我正在使用它来创建表格的tbody区域中所有tr的数组。创建数组表格单元格值jQuery

var $table = $('#mytable'); 
var $rows = $table.find("tbody tr"); 

它工作正常,并包含表中的数据。但是,我想遍历每行并创建该行中每个单元格的值的数组。我已经试过:

for(x=0;x<$rows.length;x++) 
{ 
    var aCells = $rows[x].find("td"); 
    alert(aCells.length); 
} 

但控制台显示错误,指出对象#已经没有方法“发现”

谁能帮助我?我只想循环遍历tbody中的每一行,并在该行内创建一个单元格值的数组,以便我可以访问每个循环上的特定单元格。

回答

3

这将返回DOM不是一个jQuery对象

$rows[x] 

你想用eq()

$rows.eq(x).find("td"); 

或者只是使用每个()

$rows.each(function(){ 
    var cells = $(this).find("td"); 
}); 
+0

工作就像一个魅力!谢谢!尽快在它让我留下正确的答案。 – Phil

2

您可以使用.each()来遍历rows,您可以访问其td元素通过使用$(this)参考。

尝试

$rows.each(function(){ 
    var aCells = $(this).find("td"); 
    alert(aCells.length); 
}); 
+0

谢谢!这也适用! – Phil

2

$rows不是数组。这是一个jQuery对象。改为使用$rows.eq(x)。 看到文档.eq()

+0

感谢lex82,我不知道.eq()方法,所以感谢您的回复。 – Phil