例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
}
に私を指摘何のためのコメントを参照してください。 '.className'プロパティ。 removeClass( "dh-dtbl-details-control") 'は動作するはずです。' $(row).find( "td: ".dh-dtbl-details-control")。removeClass( "dh-dtbl-details-control") ' – nnnnnn
ブラウザで右クリックして要素を検査するだけです。 –
最終的に$(node).find( ".dh-dtbl-details_control")となりました。removeClass( "dh-dtbl-details-control")。 $(行)で試してみましたが、うまくいきませんでした。これは私にとってちょっと新しいものなので、ノードと行の違いについて調べて調べる必要があります。 – southfanning