Javascript 数据表。如何遍历所有行并获取每个tr条目的id
这个问题的目标是Javascript 数据表。如何遍历所有行并获取每个tr条目的id,javascript,jquery,html,datatable,datatables,Javascript,Jquery,Html,Datatable,Datatables,这个问题的目标是Datatables用于JQuery的插件 我需要遍历所有表行(甚至分页),并获取每个tr元素的id HTML表格如下所示: <table> <thead> <tr> <th>Header content 1</th> <th>Header content 2</th> </tr> </thead> <tbody&g
Datatables
用于JQuery
的插件
我需要遍历所有表行(甚至分页),并获取每个tr
元素的id
HTML表格如下所示:
<table>
<thead>
<tr>
<th>Header content 1</th>
<th>Header content 2</th>
</tr>
</thead>
<tbody>
<tr id="etc_1_en">
<td>Etc 1</td>
<td>Etc 2</td>
</tr>
<tr id="etc_1_ru">
<td>Etc 3</td>
<td>Etc 4</td>
</tr>
<tr id="etc_1_fr">
<td>Etc 5</td>
<td>Etc 6</td>
</tr>
<tr id="etc_2_en">
<td>Foo 1</td>
<td>Foo 2</td>
</tr>
<tr id="etc_2_ru">
<td>Foo 3</td>
<td>Foo 4</td>
</tr>
<tr id="etc_2_fr">
<td>Foo 5</td>
<td>Foo 6</td>
</tr>
</tbody>
</table>
但是我找不到一种方法来获取tr
的id
(使用这个示例数据etc\u 1\u en
,etc\u 1\u ru
等等)。有人能帮我吗
我尝试将函数
id
作为参数传入,但它返回-未定义的您可以使用rows().every()循环通过行()。这样,您就可以访问行
对象,该对象将为您提供数据
和id
tbl=$('#myTable').DataTable();
tbl.rows().every(函数(){
var data=this.data();
var id=this.id();
log('id:'+id+'索引中的数据:'+index+'是:'+Data);
});
更多信息:谢谢您的回答,但我得到一个错误:行。数据不是函数
对不起,我错过了那部分。我更新了答案。基本上,行
对象不能像我预期的那样工作。您可以使用tbl.row(index.data()
来获取数据。是的,我通过添加内部循环var row=tbl.row()代码>,但在这种情况下,我只得到了大约1行的打印信息。我尝试使用您更新的答案-相同,只有1个日志打印到控制台。另外,我认为行(索引)
也应该添加到var id
中,还应该从控制台日志中删除value
。但主要问题是,这并没有循环通过所有行,只有第一行。更新了答案。基本上,有rows().each()
方法,它允许您循环遍历每一行,并且您可以使用this
访问row对象。编辑之前感谢您的代码帮助我,我在没有each
的情况下实现了它。
tbl = $('#myTable').DataTable();
var data = tbl.rows().data();
data.each(function (value, index) {
console.log('Data in index: ' + index + ' is: ' + value);
});