数据表。如何遍历所有行并获取每个tr条目的id

时间:2018-03-07 09:04:57

标签: javascript jquery html datatable datatables

此问题针对Datatables的{​​{1}}插件。

我需要遍历所有表行(甚至是分页)并获取每个JQuery元素的id

HTML表格如下:

tr

所以如果最后2个字符不等于<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> ,我需要遍历每一行并隐藏行(这样检查一切正常,我使用en)。

我可以遍历以下所有行:

substr

但我找不到tbl = $('#myTable').DataTable(); var data = tbl.rows().data(); data.each(function (value, index) { console.log('Data in index: ' + index + ' is: ' + value); }); id tr的方法(使用此示例数据etc_1_enetc_1_ru等等)。有人能帮助我吗?

我尝试传递函数id作为参数,但它返回 - undefined

1 个答案:

答案 0 :(得分:2)

您可以使用rows()循环浏览rows().every()。这样,您就可以访问row对象,该对象将为您提供dataid

tbl = $('#myTable').DataTable();

tbl.rows().every(function () {
  var data = this.data();
  var id = this.id();
  console.log('Data in id: ' + id + ' index: ' + index + ' is: ' + data);
});

更多信息:https://datatables.net/reference/api/rows().every()