使用jQuery在表中基于`td`的值隐藏`tr`

Nic*_*ung 3 html javascript jquery

我的表中充满了来自后端数据库查询的动态内容.我想隐藏任何tr只包含零的内容.

这是我的表格的样子:

<table id="table1" " cellspacing="0" style="width: 800px">
<thead id="tablehead">
</thead>
<tbody id="tabledata">
<tr class="odd">
<td>0</td>
<td>0</td>
<td>0</td>
<td>0.00%</td>
<td>0.00%</td>
<td>$0.00</td>
<td>$0.00</td>
<td>$0.00</td>
<td>$0.00</td>
<td>$0.00</td>
<td>$0.00</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

现在,如果前三td的的tbody==0,那么我想添加一个类的tr,这将有效地隐藏该行.我将如何使用jQuery进行此操作?

编辑: 抱歉忘记添加我尝试过的内容.下面是一个测试脚本我想看看我是否能收集所有td

$(document).ready(function() {
    $("#table1 td").filter(function() {
        return $(this).text == 0;
    }).css("text-color", "red");

    });
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 7

你可以这样做 :

$('tr').each(function(){
    var tr = $(this);
    if (tr.find('td:eq(0)').text()=="0"
        && tr.find('td:eq(1)').text()=="0"
        && tr.find('td:eq(2)').text()=="0"
    ) tr.addClass('hidden');
});
Run Code Online (Sandbox Code Playgroud)

演示(隐藏的类将颜色更改为红色,更清晰......)

根据您的需要,您可能需要修剪文本或解析它们.

对于更复杂的测试,您可能会发现直接使用单元格内容数组非常有用.你可以使用它

var celltexts = tr.find('td').map(function(){return $(this).text()}).toArray();
Run Code Online (Sandbox Code Playgroud)