javascript - example - find datatable jquery
jQuery datatables agregar clase a tr (4)
Estoy usando jQuery y datatables. Quiero agregar una clase al elemento TR de una fila en particular. Sé cómo encontrar la fila. La console.dir(row);
muestra el objeto row
y comienza con un elemento tr
. No puedo conseguir que el selector jQuery haga nada. ¿Qué me estoy perdiendo?
table = $(''#resultTable'').DataTable({
aaSorting: [],
ajax: {...},
columnDefs: [...],
createdRow: function (row, data, index) {
//
// if the second column cell is blank apply special formatting
//
if (data[1] == "") {
console.dir(row);
$(''tr'', row).addClass(''label-warning'');
}
}
});
Situación DataTable (). Row.add ():
Si desea agregar una clase al usar la función de agregar filas en Datatables, puede obtener el método TR-DOM desde el node()
:
var datatable = $(''#resultTable'').DataTable();
var trDOM = datatable.row.add( [
"Col-1",
"Col-2"
] ).draw().node();
$( trDOM ).addClass(''myClass'');
Solo deberías usar el createdRow
`
$(''#data-table'').DataTable( {
createdRow: function( row, data, dataIndex ) {
// Set the data-status attribute, and add a class
$( row ).find(''td:eq(0)'')
.attr(''data-status'', data.status ? ''locked'' : ''unlocked'')
.addClass(''asset-context box'');
}
} );
`
También puede agregar clase a tr
pasando los datos json que envíe a datatable. Es suficiente que cada elemento json tenga DT_RowClass
.
Por ejemplo:
{
DT_RowAttr = new
{
attr1 = "1",
attr2 = "2"
}
DT_RowClass = "majid",
DT_RowId = "rowId"
}
En este ejemplo, el valor DT_RowId
aplica al atributo id
de cualquier etiqueta tr
y el valor DT_RowAttr
aplica algún atributo personalizado a la etiqueta tr
.
$(''tr'', row)
está buscando un elemento tr en el contexto de la fila, lo que significa que buscará un elemento tr dentro de la row
proporcionada como parámetro de contexto.
Según API , esto debería funcionar
$(row).addClass("label-warning");