1
我有一個包含詳細行的數據表,類似於示例here。我想要做的是刪除顯示沒有子數據的行的+/i圖標的類。應該很容易,但對我來說,我無法從每行的第一個td中刪除類。刪除DataTable中每行的第一個td的類
我的表。第一列只是一個圖標,由類'dh-dtbl-details-control'添加。它被添加到每一行。
var oTable = $('#dh_phleb_tblComp').DataTable({
data: oColls.accs,
orderClasses: false,
"stripeClasses":['stripe1','stripe2'],
columns:[
{
"class":"dh-dtbl-details-control",
"orderable": false,
"data": null,
"defaultContent": ""
},
{data: 'collection_priority_disp'},
{data: 'encntr_location'}
]
});
表創建後,我遍歷行,檢查子數據。這工作正常。我遇到的問題是識別與所討論的類相關的td,以便我可以將其刪除。任何幫助將不勝感激。
oTable.rows().data().each(function(value, index, id) {
var row = oTable.row(index);
var node = oTable.row(index).node();
if (value.container_cnt === 0){
alert("no containers");
var td = $(row).find("td:first"); //doesn't seem to be right
alert(td.className); //returning 'undefined'
//$('td', row).removeClass("dh-dtbl-details-control"); //what I want to do
}
'td.className'永遠是'undefined'因爲'td'是一個jQuery對象,而不是一個DOM元素,因此它不具有'.className'屬性。假設'row'是有問題的行,那麼'$(row).find(「td:first」)。removeClass(「dh-dtbl-details-control」)'應該工作,或'$(row).find 「.dh-dtbl-details-control」)。removeClass(「dh-dtbl-details-control」)' – nnnnnn
只需在瀏覽器中單擊右鍵並檢查元素即可。 –
最終做了什麼是$(node).find(「。dh-dtbl-details_control」)。removeClass(「dh-dtbl-details-control」)。我用$(row)試了一下,但沒有奏效。這對我來說有點新鮮,所以我需要深入挖掘並找出節點vs行的不同之處。 – southfanning