繁体   English   中英

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

[英]Hide a `tr` based on the values of `td` in the table using 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>

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

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

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

    });

你可以这样做 :

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM