2013-07-15 34 views
3

我想設置一個css類使用DataTables,查詢插件的表。jQuery的DataTables表插件:如何設置爲tr和td的css類

我設法設置在tr標記的類初始化完成用時:

"fnInitComplete": function(oSettings) { 
           for (var i = 0, iLen = oSettings.aoData.length; i < iLen; i++) { 
            oSettings.aoData[i].nTr.className = "myClass"; 
           } 
          }, 

我要爲每個新行回調,並設置爲atr類和btd

我知道如何添加一個類,我需要設置一個類!

"fnRowCallback": function(nRow, aaData, iDisplayIndex) { 
           console.log(aaData); 
           $('tr', nRow).addClass('a'); 
           $('td:eq(0)', nRow).addClass('b'); 
           $('td:eq(1)', nRow).addClass('b'); 
           $('td:eq(2)', nRow).addClass('b'); 
           $('td:eq(3)', nRow).addClass('b'); 
           return nRow; 
          }, 

這是困擾我:

$('tr', nRow).addClass('a');

我不知道該如何爲類設置爲tr標籤。

回答

2

按照文檔(fnRowCallback)nRow表示TR元素

所以這應該這樣做:

$(nRow).addClass('a'); 

如果你想添加類某行N#你可以使用這個(只是建立一個合適的選擇器):

$("tr:eq(" + rowNumber+ ")").addClass('a'); 

字符串應該是這樣的"tr:eq(1)"

+0

是的,我也想到了,後來:))它是nRow :)),因爲它是一個回調:)) –

1

如果我的理解是正確的,那麼你的問題可能是在這一行:

$('tr', nRow).addClass('a'); 

因爲它等同於寫:

$(nRow).find('tr').addClass('a'); 

你不該」 t能夠在另一個TR內找到一個TR(除非當然你正在使用嵌套表,但我們不會進入)

如果是這種情況,那麼你的f ix將是:

$(nRow).addClass('a'); 

祝你好運!