当我使用此API数据表添加新行时,如何设置一个TD的“id”属性?考虑我只有一个TD。
答案 0 :(得分:2)
以下是API对新添加的行执行操作的示例。
var table = $('#example').DataTable();
table
.rows.add( [
new Pupil( 43 ),
new Pupil( 67 ),
new Pupil( 102 )
] )
.draw()
.nodes()
.to$()
.addClass( 'new' );
.addClass()
是一个jquery方法,他们在这里使用class="new"
添加到新添加的行中。
因此,您可以使用<td>
找到该行中的所有.find()
,而不是在该行中添加一个类,然后使用.each()
在每个<td>
上调用一个函数使用.attr()
修改其id属性。
var table = $('#example').DataTable();
var count = 0;
table
.rows.add( [
new Pupil( 43 ),
new Pupil( 67 ),
new Pupil( 102 )
] )
.draw()
.nodes()
.to$()
.find('td')
.each(function() {
$(this).attr('id', 'td' + (count++) );
});
请注意使用count
变量来确保分配的每个id都是唯一的。
答案 1 :(得分:0)
而不是使用上面解决方案中的计数,您可以使用jQuery创建的索引 -
.find('td')
.each(function(**index**) {
$(this).attr('id', 'td' + **index** );
});
答案 2 :(得分:0)
添加让我们说td中的一列(仅说第4列):
var datatableTable = $('#datatableTable').DataTable();
var json = JSON.parse(data);
for (var row in json) {
var toAdd = {
id: json[row].id,
name: json[row].name
};
var i = datatablePojectListTable.row.add(toAdd).draw().nodes().to$().find('td:eq(4)').each(function() {$(this).attr('id', 'td-' + idVal );});
// Add ID to row
datatablePojectListTable.rows(i).nodes().to$().attr("id", idVal);
}