使用
rows.every()
要遍历所有行,请使用to$()将这些行作为jQuery实例处理:
table.rows().every(function() {
var cells = this.nodes().to$().children('.js_table_object_status');
cells.each(function() {
if (~$(this).text().indexOf("Calculating")) {
var objectId = $(this).attr("data-object-id")
var teamId = "none"
var element = {};
element.objectId = objectId
element.teamId = teamId
ajaxObject.objects.push(element);
}
})
})
http://jsfiddle.net/qq09bp6m/
目前尚不清楚您希望如何更新该表。如果希望它在循环中完成,可以直接处理元素并使用
invalidate()
:
table.rows().every(function() {
var row = this;
var cells = row.nodes().to$().children('.js_table_object_status');
cells.each(function() {
var e = $(this);
if (~e.text().indexOf("Calculating")) {
var objectId = e.attr("data-object-id")
var teamId = "none"
var element = {};
element.objectId = objectId
element.teamId = teamId
ajaxObject.objects.push(element);
e.html('<span>test</span>');
e.attr('data-sort', 'someValue');
row.invalidate().draw();
}
})
})
http://jsfiddle.net/qq09bp6m/1/
或者在其他地方,可以使用
table.$()
table.$('.js_table_object_status[data-object-id="objectId1"]')
.attr('data-sort', 27)
.addClass('someClass')
http://jsfiddle.net/qq09bp6m/2/