3

我有一个表,其中填充了来自后端数据库的查询的动态内容。我想隐藏任何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>

现在如果前三个td是0 那么我想添加一个类来有效地隐藏该行。我将如何使用 jQuery 来做这件事?tbody==tr

编辑: 抱歉忘记添加我尝试过的内容。以下是我尝试查看是否可以收集所有的测试td脚本

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

    });
4

1 回答 1

6

你可以这样做 :

$('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');
});

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

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

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

var celltexts = tr.find('td').map(function(){return $(this).text()}).toArray();
于 2012-11-16T19:16:40.290 回答