我有以下代码,我用它来创建表格的tbody区域中所有tr的数组。
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);
}
但控制台显示错误,指出Object#没有方法'find'
任何人都可以帮助我吗?我只想一次循环tbody中的每一行,并在该行中创建一个单元格值数组,以便我可以访问每个循环上的特定单元格。
答案 0 :(得分:3)
这会返回DOM而不是jQuery对象
$rows[x]
您想使用eq()
$rows.eq(x).find("td");
或只使用每个()
$rows.each(function(){
var cells = $(this).find("td");
});
答案 1 :(得分:2)
您可以使用.each()
来遍历rows
,然后使用td
引用访问其$(this)
元素。
尝试
$rows.each(function(){
var aCells = $(this).find("td");
alert(aCells.length);
});
答案 2 :(得分:2)
$rows
不是数组。这是一个jQuery对象。请改用$rows.eq(x)
。
请参阅.eq()