最近在使用jquery datatable的過程中,遇到了一個有趣的問題,就是如何給datatable的每一行設(shè)置不同的顏色,以便于更好地區(qū)分不同的數(shù)據(jù)行。
經(jīng)過一番搜索和嘗試,我發(fā)現(xiàn)了一種簡單而有效的方法,它基于datatable提供的rowCallback函數(shù)來實(shí)現(xiàn)。
首先,我們需要在datatable的初始化代碼中添加rowCallback函數(shù),如下所示:
$(document).ready(function() {
$('#example').dataTable( {
"rowCallback": function( row, data, index ) {
if ( data[3].replace(/[\$,]/g, '') * 1 >150000 ) {
$('td:eq(3)', row).css('color', 'red');
}
}
} );
} );
上面的代碼中,我們定義了一個rowCallback函數(shù),它會在每一行數(shù)據(jù)被加載時被調(diào)用。在這個函數(shù)中,我們通過判斷數(shù)據(jù)的某個屬性值,來動態(tài)地設(shè)置這一行的顏色。例如,在上面的代碼中,如果數(shù)據(jù)中的第四列數(shù)值大于150000,那么這一行的所有單元格都會被設(shè)置為紅色。
當(dāng)然,你可以根據(jù)自己的需要來定義任意的顏色規(guī)則,例如根據(jù)數(shù)據(jù)的類型、大小、時間等等來設(shè)置不同的顏色。
最后,記得使用p標(biāo)簽來分段落,以便于讓文章更加易讀易懂。