2016-09-01 6 views
1

実行中のサービスに関するすべての関連情報を記入する2行テーブル(ラベル行とデータ行)がありますが、セルの約半分はどのテストが実行されているかに応じて、いつでも空になります。空のセルとそのラベルセルをテーブルから削除します

すべての空のセルを見つけて、そのセルのラベルと共に非表示にするjqueryステートメントを探しています。私はかなり検索し、空のセルしかし、私の「空」のセルは「& NBSP」と本当に空ではありませんが移入され

$('table#yourTable tr').each(function(){ 
    if($(this).children('td:empty').length === $(this).children('td').length){ 
    $(this).hide(); 
    } 
}); 

を隠すために意図され、このコードを発見しました。セルとそれに関連するラベルセルを隠す方法はありますか?

+0

あなたは、あなたが見つけたように、現在のコードが内**どの**テキストを考慮 'empty'擬似クラスを使用し、それらを削除し、あなたのTDの通って、場合&NBSPは何もして存在する反復可能性のいずれか要素を空でないものとして設定します。 ここをクリックして:空の擬似クラスここをクリックしてください:https://developer.mozilla.org/en-US/docs/Web/CSS/:empty –

+0

ここでjQueryを使用してこれを行う方法の例:https:// jsfiddle.net/25gs6mcs/ –

答えて

0

あなたがいない本当に空のセルのすべてを非表示になります.filter()

$(document).ready(function() { 
    var elems = $("tr").filter(function() { 
    return this.querySelector("td").innerHTML === " " 
    }); 
    elems.hide(); 
}) 
0

次のコードを使用することができ、それがラベルのセルです。

$(function() { 
    var $label = $('tr:first'); 
    $('tr:last td').each(function (index, td) { 
     var $td = $(td); 
     if ($td.html() != ' ') return; 

     $td.hide(); 
     $label.find('td:eq(' + index + ')').hide(); 
    }); 
}); 
関連する問題