-3

私はhtmlテーブルを持っています:

<table>
 <tr >
  <td>name 1</td>
  <td>-</td>
  <td>-</td>
  <td>-</td>
</tr>
 <tr >
  <td>name 2</td>
  <td>-</td>
  <td>158,5</td>
  <td>-</td>
</tr>
</table>

すべての値が「-」に相当する行を削除/非表示にしたいのですが、それを行う最善の方法は何ですか?

4

5 に答える 5

2

他のテーブルから行を取得しないように、テーブルに ID を追加すると簡単です...

<table id="Example">
    ...

ここに例があります...

$('#Example tr').each( function () {
    var self = $(this);
    var allEmpty = true;
    $('td', self).each( function () {
        if ($(this).text() !== '-') {
            allEmpty = false;
        }
    });

    if (allEmpty) {
        self.hide();
    }
});

これにより、すべてのフィールドが正確に一致する行が削除されます-。必要に応じて、カスタム ロジックを追加してこれを変更できます。

于 2012-12-24T14:37:24.873 に答える
1

使用する

$("button").click(function () {
    $("td").remove(":contains('-')");
});​

「-」で td を削除するには

リンク

于 2012-12-24T14:41:33.090 に答える
1
$('tr').each(function() {
    var self = $(this);
    var EmptyCheck = true;
    $('td:not(:eq(0))', self).each(function() {
        if ($(this).text() !== '-') {
            EmptyCheck = false;
            console.log($(this));
        }
    });

    if (EmptyCheck) {
        self.hide();
        EmptyCheck = true;
    }
});​

フィドル - http://jsfiddle.net/atif089/LWPbj/

于 2012-12-24T14:42:14.100 に答える
0

メソッドを使用できますfilter

$('table td').filter(function(){
   var txt = this.textContent || this.innerText;
   return txt === '-';
}).hide();

http://jsfiddle.net/4snwH/

于 2012-12-24T14:37:55.323 に答える
0

これを試してみてください。

$("table tr td").each(function(){

if($(this).html() == "-")
{
   $(this).css('display','none'); // if you want to hide
   $(this).remove(); // if you want to remove
}

});
于 2012-12-24T14:42:47.127 に答える