2017-04-05 16 views
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 
} 
+1

に私を指摘何のためのコメントを参照してください。 '.className'プロパティ。 removeClass( "dh-dtbl-details-control") 'は動作するはずです。' $(row).find( "td: ".dh-dtbl-details-control")。removeClass( "dh-dtbl-details-control") ' – nnnnnn

+0

ブラウザで右クリックして要素を検査するだけです。 –

+0

最終的に$(node).find( ".dh-dtbl-details_control")となりました。removeClass( "dh-dtbl-details-control")。 $(行)で試してみましたが、うまくいきませんでした。これは私にとってちょっと新しいものなので、ノードと行の違いについて調べて調べる必要があります。 – southfanning

答えて

0

は$(ノード).find( "DH-DTBL-details_control ")である。removeClass(" DH-DTBのL-詳細制御")。

`td`はjQueryオブジェクトではなく、DOM要素であるので、それは持っていないので、` td.className`は常に、 `undefined`になります右方向

関連する問題